puppet 7.28.0-universal-darwin → 8.0.1-universal-darwin

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1167) hide show
  1. checksums.yaml +4 -4
  2. data/CODEOWNERS +5 -5
  3. data/Gemfile +8 -7
  4. data/Gemfile.lock +76 -75
  5. data/Rakefile +27 -0
  6. data/bin/puppet +1 -0
  7. data/examples/enc/regexp_nodes/regexp_nodes.rb +1 -1
  8. data/ext/build_defaults.yaml +1 -1
  9. data/ext/project_data.yaml +8 -9
  10. data/ext/windows/service/daemon.rb +1 -0
  11. data/install.rb +18 -18
  12. data/lib/hiera/puppet_function.rb +1 -0
  13. data/lib/hiera/scope.rb +6 -5
  14. data/lib/hiera_puppet.rb +2 -1
  15. data/lib/puppet/agent/disabler.rb +1 -0
  16. data/lib/puppet/agent/locker.rb +1 -0
  17. data/lib/puppet/agent.rb +1 -0
  18. data/lib/puppet/application/agent.rb +1 -0
  19. data/lib/puppet/application/apply.rb +1 -0
  20. data/lib/puppet/application/catalog.rb +1 -0
  21. data/lib/puppet/application/config.rb +1 -0
  22. data/lib/puppet/application/describe.rb +1 -0
  23. data/lib/puppet/application/device.rb +1 -0
  24. data/lib/puppet/application/doc.rb +2 -1
  25. data/lib/puppet/application/epp.rb +1 -0
  26. data/lib/puppet/application/face_base.rb +1 -0
  27. data/lib/puppet/application/facts.rb +1 -0
  28. data/lib/puppet/application/filebucket.rb +1 -0
  29. data/lib/puppet/application/generate.rb +1 -0
  30. data/lib/puppet/application/help.rb +1 -0
  31. data/lib/puppet/application/indirection_base.rb +1 -0
  32. data/lib/puppet/application/lookup.rb +2 -1
  33. data/lib/puppet/application/module.rb +1 -0
  34. data/lib/puppet/application/node.rb +1 -0
  35. data/lib/puppet/application/parser.rb +1 -0
  36. data/lib/puppet/application/plugin.rb +1 -0
  37. data/lib/puppet/application/report.rb +1 -0
  38. data/lib/puppet/application/resource.rb +1 -0
  39. data/lib/puppet/application/script.rb +1 -0
  40. data/lib/puppet/application/ssl.rb +8 -42
  41. data/lib/puppet/application.rb +2 -5
  42. data/lib/puppet/application_support.rb +1 -0
  43. data/lib/puppet/coercion.rb +1 -0
  44. data/lib/puppet/compilable_resource_type.rb +1 -0
  45. data/lib/puppet/concurrent/lock.rb +1 -0
  46. data/lib/puppet/concurrent/synchronized.rb +1 -0
  47. data/lib/puppet/concurrent.rb +1 -0
  48. data/lib/puppet/configurer/downloader.rb +1 -0
  49. data/lib/puppet/configurer/fact_handler.rb +1 -0
  50. data/lib/puppet/configurer/plugin_handler.rb +1 -0
  51. data/lib/puppet/configurer.rb +2 -1
  52. data/lib/puppet/confine/any.rb +1 -0
  53. data/lib/puppet/confine/boolean.rb +1 -0
  54. data/lib/puppet/confine/exists.rb +1 -0
  55. data/lib/puppet/confine/false.rb +1 -0
  56. data/lib/puppet/confine/feature.rb +1 -0
  57. data/lib/puppet/confine/true.rb +1 -0
  58. data/lib/puppet/confine/variable.rb +1 -0
  59. data/lib/puppet/confine.rb +1 -0
  60. data/lib/puppet/confine_collection.rb +1 -0
  61. data/lib/puppet/confiner.rb +2 -1
  62. data/lib/puppet/context/trusted_information.rb +7 -6
  63. data/lib/puppet/context.rb +1 -0
  64. data/lib/puppet/daemon.rb +1 -0
  65. data/lib/puppet/data_binding.rb +1 -0
  66. data/lib/puppet/datatypes/error.rb +1 -0
  67. data/lib/puppet/datatypes/impl/error.rb +1 -0
  68. data/lib/puppet/datatypes.rb +1 -0
  69. data/lib/puppet/defaults.rb +30 -18
  70. data/lib/puppet/environments.rb +1 -0
  71. data/lib/puppet/error.rb +1 -0
  72. data/lib/puppet/etc.rb +1 -0
  73. data/lib/puppet/external/dot.rb +1 -0
  74. data/lib/puppet/face/catalog/select.rb +1 -0
  75. data/lib/puppet/face/catalog.rb +1 -0
  76. data/lib/puppet/face/config.rb +2 -1
  77. data/lib/puppet/face/epp.rb +3 -2
  78. data/lib/puppet/face/facts.rb +1 -0
  79. data/lib/puppet/face/generate.rb +1 -0
  80. data/lib/puppet/face/help/action.erb +0 -1
  81. data/lib/puppet/face/help/face.erb +0 -1
  82. data/lib/puppet/face/help.rb +4 -3
  83. data/lib/puppet/face/module/changes.rb +1 -0
  84. data/lib/puppet/face/module/install.rb +1 -0
  85. data/lib/puppet/face/module/list.rb +3 -2
  86. data/lib/puppet/face/module/uninstall.rb +1 -0
  87. data/lib/puppet/face/module/upgrade.rb +1 -0
  88. data/lib/puppet/face/module.rb +1 -0
  89. data/lib/puppet/face/node/clean.rb +1 -0
  90. data/lib/puppet/face/node.rb +1 -0
  91. data/lib/puppet/face/parser.rb +2 -1
  92. data/lib/puppet/face/plugin.rb +1 -0
  93. data/lib/puppet/face/report.rb +1 -0
  94. data/lib/puppet/face/resource.rb +1 -0
  95. data/lib/puppet/face.rb +1 -0
  96. data/lib/puppet/feature/base.rb +1 -0
  97. data/lib/puppet/feature/bolt.rb +1 -0
  98. data/lib/puppet/feature/cfpropertylist.rb +1 -0
  99. data/lib/puppet/feature/eventlog.rb +1 -0
  100. data/lib/puppet/feature/hiera_eyaml.rb +1 -0
  101. data/lib/puppet/feature/hocon.rb +1 -0
  102. data/lib/puppet/feature/libuser.rb +1 -0
  103. data/lib/puppet/feature/msgpack.rb +1 -0
  104. data/lib/puppet/feature/pe_license.rb +1 -0
  105. data/lib/puppet/feature/pson.rb +5 -0
  106. data/lib/puppet/feature/selinux.rb +1 -0
  107. data/lib/puppet/feature/ssh.rb +1 -0
  108. data/lib/puppet/feature/telnet.rb +1 -0
  109. data/lib/puppet/feature/zlib.rb +1 -0
  110. data/lib/puppet/ffi/posix/constants.rb +1 -0
  111. data/lib/puppet/ffi/posix/functions.rb +1 -0
  112. data/lib/puppet/ffi/posix.rb +1 -0
  113. data/lib/puppet/ffi/windows/api_types.rb +2 -1
  114. data/lib/puppet/ffi/windows/constants.rb +1 -0
  115. data/lib/puppet/ffi/windows/functions.rb +1 -0
  116. data/lib/puppet/ffi/windows/structs.rb +1 -0
  117. data/lib/puppet/ffi/windows.rb +1 -0
  118. data/lib/puppet/file_bucket/dipper.rb +1 -0
  119. data/lib/puppet/file_bucket/file.rb +1 -0
  120. data/lib/puppet/file_bucket.rb +1 -0
  121. data/lib/puppet/file_serving/base.rb +1 -0
  122. data/lib/puppet/file_serving/configuration/parser.rb +1 -0
  123. data/lib/puppet/file_serving/configuration.rb +1 -0
  124. data/lib/puppet/file_serving/content.rb +1 -0
  125. data/lib/puppet/file_serving/fileset.rb +1 -0
  126. data/lib/puppet/file_serving/http_metadata.rb +1 -0
  127. data/lib/puppet/file_serving/metadata.rb +1 -0
  128. data/lib/puppet/file_serving/mount/file.rb +5 -4
  129. data/lib/puppet/file_serving/mount/locales.rb +1 -0
  130. data/lib/puppet/file_serving/mount/modules.rb +1 -0
  131. data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -0
  132. data/lib/puppet/file_serving/mount/plugins.rb +1 -0
  133. data/lib/puppet/file_serving/mount/scripts.rb +1 -0
  134. data/lib/puppet/file_serving/mount/tasks.rb +1 -0
  135. data/lib/puppet/file_serving/mount.rb +1 -0
  136. data/lib/puppet/file_serving/terminus_helper.rb +1 -0
  137. data/lib/puppet/file_serving/terminus_selector.rb +1 -0
  138. data/lib/puppet/file_serving.rb +1 -0
  139. data/lib/puppet/file_system/file_impl.rb +2 -1
  140. data/lib/puppet/file_system/jruby.rb +1 -0
  141. data/lib/puppet/file_system/memory_file.rb +1 -0
  142. data/lib/puppet/file_system/memory_impl.rb +1 -0
  143. data/lib/puppet/file_system/path_pattern.rb +2 -1
  144. data/lib/puppet/file_system/posix.rb +4 -3
  145. data/lib/puppet/file_system/uniquefile.rb +2 -1
  146. data/lib/puppet/file_system/windows.rb +1 -0
  147. data/lib/puppet/file_system.rb +1 -0
  148. data/lib/puppet/forge/cache.rb +1 -0
  149. data/lib/puppet/forge/errors.rb +1 -0
  150. data/lib/puppet/forge/repository.rb +1 -0
  151. data/lib/puppet/forge.rb +2 -1
  152. data/lib/puppet/functions/abs.rb +1 -0
  153. data/lib/puppet/functions/alert.rb +1 -0
  154. data/lib/puppet/functions/all.rb +1 -0
  155. data/lib/puppet/functions/annotate.rb +1 -0
  156. data/lib/puppet/functions/any.rb +1 -0
  157. data/lib/puppet/functions/assert_type.rb +1 -0
  158. data/lib/puppet/functions/binary_file.rb +1 -0
  159. data/lib/puppet/functions/break.rb +1 -0
  160. data/lib/puppet/functions/call.rb +1 -0
  161. data/lib/puppet/functions/camelcase.rb +1 -0
  162. data/lib/puppet/functions/capitalize.rb +1 -0
  163. data/lib/puppet/functions/ceiling.rb +1 -0
  164. data/lib/puppet/functions/chomp.rb +1 -0
  165. data/lib/puppet/functions/chop.rb +1 -0
  166. data/lib/puppet/functions/compare.rb +1 -0
  167. data/lib/puppet/functions/contain.rb +1 -0
  168. data/lib/puppet/functions/convert_to.rb +1 -0
  169. data/lib/puppet/functions/crit.rb +1 -0
  170. data/lib/puppet/functions/debug.rb +1 -0
  171. data/lib/puppet/functions/defined.rb +1 -0
  172. data/lib/puppet/functions/dig.rb +1 -0
  173. data/lib/puppet/functions/downcase.rb +1 -0
  174. data/lib/puppet/functions/each.rb +1 -0
  175. data/lib/puppet/functions/emerg.rb +1 -0
  176. data/lib/puppet/functions/empty.rb +1 -0
  177. data/lib/puppet/functions/epp.rb +1 -0
  178. data/lib/puppet/functions/err.rb +1 -0
  179. data/lib/puppet/functions/eyaml_lookup_key.rb +1 -0
  180. data/lib/puppet/functions/filter.rb +1 -0
  181. data/lib/puppet/functions/find_file.rb +1 -0
  182. data/lib/puppet/functions/find_template.rb +1 -0
  183. data/lib/puppet/functions/flatten.rb +1 -0
  184. data/lib/puppet/functions/floor.rb +1 -0
  185. data/lib/puppet/functions/get.rb +1 -0
  186. data/lib/puppet/functions/getvar.rb +1 -0
  187. data/lib/puppet/functions/hiera.rb +1 -0
  188. data/lib/puppet/functions/hiera_array.rb +1 -0
  189. data/lib/puppet/functions/hiera_hash.rb +1 -0
  190. data/lib/puppet/functions/hiera_include.rb +1 -0
  191. data/lib/puppet/functions/hocon_data.rb +1 -0
  192. data/lib/puppet/functions/import.rb +1 -0
  193. data/lib/puppet/functions/include.rb +1 -0
  194. data/lib/puppet/functions/index.rb +1 -0
  195. data/lib/puppet/functions/info.rb +1 -0
  196. data/lib/puppet/functions/inline_epp.rb +1 -0
  197. data/lib/puppet/functions/join.rb +1 -0
  198. data/lib/puppet/functions/json_data.rb +1 -0
  199. data/lib/puppet/functions/keys.rb +1 -0
  200. data/lib/puppet/functions/length.rb +1 -0
  201. data/lib/puppet/functions/lest.rb +1 -0
  202. data/lib/puppet/functions/lookup.rb +1 -0
  203. data/lib/puppet/functions/lstrip.rb +1 -0
  204. data/lib/puppet/functions/map.rb +1 -0
  205. data/lib/puppet/functions/match.rb +1 -0
  206. data/lib/puppet/functions/max.rb +67 -0
  207. data/lib/puppet/functions/min.rb +67 -0
  208. data/lib/puppet/functions/module_directory.rb +1 -0
  209. data/lib/puppet/functions/new.rb +1 -0
  210. data/lib/puppet/functions/next.rb +1 -0
  211. data/lib/puppet/functions/notice.rb +1 -0
  212. data/lib/puppet/functions/reduce.rb +1 -0
  213. data/lib/puppet/functions/regsubst.rb +1 -0
  214. data/lib/puppet/functions/require.rb +1 -0
  215. data/lib/puppet/functions/return.rb +1 -0
  216. data/lib/puppet/functions/reverse_each.rb +1 -0
  217. data/lib/puppet/functions/round.rb +1 -0
  218. data/lib/puppet/functions/rstrip.rb +1 -0
  219. data/lib/puppet/functions/scanf.rb +1 -0
  220. data/lib/puppet/functions/size.rb +1 -0
  221. data/lib/puppet/functions/slice.rb +1 -0
  222. data/lib/puppet/functions/sort.rb +1 -0
  223. data/lib/puppet/functions/split.rb +2 -28
  224. data/lib/puppet/functions/step.rb +1 -0
  225. data/lib/puppet/functions/strftime.rb +1 -0
  226. data/lib/puppet/functions/strip.rb +1 -0
  227. data/lib/puppet/functions/then.rb +1 -0
  228. data/lib/puppet/functions/tree_each.rb +1 -0
  229. data/lib/puppet/functions/type.rb +1 -0
  230. data/lib/puppet/functions/unique.rb +1 -0
  231. data/lib/puppet/functions/unwrap.rb +1 -0
  232. data/lib/puppet/functions/upcase.rb +1 -0
  233. data/lib/puppet/functions/values.rb +1 -0
  234. data/lib/puppet/functions/versioncmp.rb +2 -1
  235. data/lib/puppet/functions/warning.rb +1 -0
  236. data/lib/puppet/functions/with.rb +1 -0
  237. data/lib/puppet/functions/yaml_data.rb +1 -0
  238. data/lib/puppet/functions.rb +6 -5
  239. data/lib/puppet/generate/models/type/property.rb +1 -0
  240. data/lib/puppet/generate/models/type/type.rb +1 -0
  241. data/lib/puppet/generate/type.rb +1 -0
  242. data/lib/puppet/gettext/config.rb +1 -0
  243. data/lib/puppet/gettext/module_translations.rb +1 -0
  244. data/lib/puppet/gettext/stubs.rb +1 -0
  245. data/lib/puppet/graph/key.rb +1 -0
  246. data/lib/puppet/graph/prioritizer.rb +1 -0
  247. data/lib/puppet/graph/rb_tree_map.rb +1 -0
  248. data/lib/puppet/graph/relationship_graph.rb +1 -0
  249. data/lib/puppet/graph/sequential_prioritizer.rb +1 -0
  250. data/lib/puppet/graph/simple_graph.rb +1 -0
  251. data/lib/puppet/graph.rb +1 -0
  252. data/lib/puppet/http/client.rb +6 -12
  253. data/lib/puppet/http/dns.rb +1 -0
  254. data/lib/puppet/http/errors.rb +1 -0
  255. data/lib/puppet/http/external_client.rb +1 -0
  256. data/lib/puppet/http/factory.rb +1 -0
  257. data/lib/puppet/http/pool.rb +1 -0
  258. data/lib/puppet/http/pool_entry.rb +1 -0
  259. data/lib/puppet/http/proxy.rb +1 -0
  260. data/lib/puppet/http/redirector.rb +1 -0
  261. data/lib/puppet/http/resolver/server_list.rb +1 -0
  262. data/lib/puppet/http/resolver/settings.rb +1 -0
  263. data/lib/puppet/http/resolver/srv.rb +1 -0
  264. data/lib/puppet/http/resolver.rb +1 -0
  265. data/lib/puppet/http/response.rb +1 -0
  266. data/lib/puppet/http/response_converter.rb +1 -0
  267. data/lib/puppet/http/response_net_http.rb +1 -0
  268. data/lib/puppet/http/retry_after_handler.rb +1 -0
  269. data/lib/puppet/http/service/ca.rb +2 -1
  270. data/lib/puppet/http/service/compiler.rb +2 -5
  271. data/lib/puppet/http/service/file_server.rb +2 -1
  272. data/lib/puppet/http/service/puppetserver.rb +1 -0
  273. data/lib/puppet/http/service/report.rb +2 -4
  274. data/lib/puppet/http/service.rb +1 -0
  275. data/lib/puppet/http/session.rb +3 -2
  276. data/lib/puppet/http/site.rb +1 -0
  277. data/lib/puppet/http.rb +3 -2
  278. data/lib/puppet/indirector/catalog/compiler.rb +10 -17
  279. data/lib/puppet/indirector/catalog/json.rb +1 -0
  280. data/lib/puppet/indirector/catalog/msgpack.rb +1 -0
  281. data/lib/puppet/indirector/catalog/rest.rb +1 -8
  282. data/lib/puppet/indirector/catalog/store_configs.rb +1 -0
  283. data/lib/puppet/indirector/catalog/yaml.rb +1 -0
  284. data/lib/puppet/indirector/code.rb +1 -0
  285. data/lib/puppet/indirector/data_binding/hiera.rb +1 -0
  286. data/lib/puppet/indirector/data_binding/none.rb +1 -0
  287. data/lib/puppet/indirector/direct_file_server.rb +1 -0
  288. data/lib/puppet/indirector/envelope.rb +1 -0
  289. data/lib/puppet/indirector/errors.rb +1 -0
  290. data/lib/puppet/indirector/exec.rb +1 -0
  291. data/lib/puppet/indirector/face.rb +6 -16
  292. data/lib/puppet/indirector/fact_search.rb +1 -0
  293. data/lib/puppet/indirector/facts/facter.rb +1 -0
  294. data/lib/puppet/indirector/facts/json.rb +1 -0
  295. data/lib/puppet/indirector/facts/memory.rb +1 -0
  296. data/lib/puppet/indirector/facts/network_device.rb +1 -0
  297. data/lib/puppet/indirector/facts/rest.rb +1 -0
  298. data/lib/puppet/indirector/facts/store_configs.rb +1 -0
  299. data/lib/puppet/indirector/facts/yaml.rb +1 -0
  300. data/lib/puppet/indirector/file_bucket_file/file.rb +2 -1
  301. data/lib/puppet/indirector/file_bucket_file/rest.rb +1 -0
  302. data/lib/puppet/indirector/file_bucket_file/selector.rb +1 -0
  303. data/lib/puppet/indirector/file_content/file.rb +1 -0
  304. data/lib/puppet/indirector/file_content/file_server.rb +1 -0
  305. data/lib/puppet/indirector/file_content/rest.rb +1 -0
  306. data/lib/puppet/indirector/file_content/selector.rb +1 -0
  307. data/lib/puppet/indirector/file_content.rb +1 -0
  308. data/lib/puppet/indirector/file_metadata/file.rb +1 -0
  309. data/lib/puppet/indirector/file_metadata/file_server.rb +1 -0
  310. data/lib/puppet/indirector/file_metadata/http.rb +1 -0
  311. data/lib/puppet/indirector/file_metadata/rest.rb +1 -0
  312. data/lib/puppet/indirector/file_metadata/selector.rb +1 -0
  313. data/lib/puppet/indirector/file_metadata.rb +1 -0
  314. data/lib/puppet/indirector/file_server.rb +1 -0
  315. data/lib/puppet/indirector/generic_http.rb +1 -0
  316. data/lib/puppet/indirector/hiera.rb +1 -0
  317. data/lib/puppet/indirector/indirection.rb +2 -1
  318. data/lib/puppet/indirector/json.rb +1 -0
  319. data/lib/puppet/indirector/memory.rb +1 -0
  320. data/lib/puppet/indirector/msgpack.rb +1 -0
  321. data/lib/puppet/indirector/node/exec.rb +1 -0
  322. data/lib/puppet/indirector/node/json.rb +1 -0
  323. data/lib/puppet/indirector/node/memory.rb +1 -0
  324. data/lib/puppet/indirector/node/msgpack.rb +1 -0
  325. data/lib/puppet/indirector/node/plain.rb +1 -0
  326. data/lib/puppet/indirector/node/rest.rb +1 -0
  327. data/lib/puppet/indirector/node/store_configs.rb +1 -0
  328. data/lib/puppet/indirector/node/yaml.rb +1 -0
  329. data/lib/puppet/indirector/none.rb +1 -0
  330. data/lib/puppet/indirector/plain.rb +1 -0
  331. data/lib/puppet/indirector/report/json.rb +1 -0
  332. data/lib/puppet/indirector/report/msgpack.rb +1 -0
  333. data/lib/puppet/indirector/report/processor.rb +1 -0
  334. data/lib/puppet/indirector/report/rest.rb +1 -13
  335. data/lib/puppet/indirector/report/yaml.rb +1 -0
  336. data/lib/puppet/indirector/request.rb +1 -0
  337. data/lib/puppet/indirector/resource/ral.rb +1 -0
  338. data/lib/puppet/indirector/resource/store_configs.rb +1 -0
  339. data/lib/puppet/indirector/resource/validator.rb +1 -0
  340. data/lib/puppet/indirector/rest.rb +1 -0
  341. data/lib/puppet/indirector/store_configs.rb +1 -0
  342. data/lib/puppet/indirector/terminus.rb +1 -0
  343. data/lib/puppet/indirector/yaml.rb +1 -0
  344. data/lib/puppet/indirector.rb +1 -0
  345. data/lib/puppet/info_service/class_information_service.rb +1 -0
  346. data/lib/puppet/info_service/plan_information_service.rb +1 -0
  347. data/lib/puppet/info_service/task_information_service.rb +1 -0
  348. data/lib/puppet/info_service.rb +1 -0
  349. data/lib/puppet/interface/action.rb +3 -4
  350. data/lib/puppet/interface/action_builder.rb +10 -4
  351. data/lib/puppet/interface/action_manager.rb +1 -0
  352. data/lib/puppet/interface/documentation.rb +1 -1
  353. data/lib/puppet/interface/face_collection.rb +1 -0
  354. data/lib/puppet/interface/option.rb +1 -0
  355. data/lib/puppet/interface/option_builder.rb +1 -0
  356. data/lib/puppet/interface/option_manager.rb +1 -0
  357. data/lib/puppet/interface.rb +1 -0
  358. data/lib/puppet/loaders.rb +1 -0
  359. data/lib/puppet/metatype/manager.rb +1 -0
  360. data/lib/puppet/module/plan.rb +1 -0
  361. data/lib/puppet/module/task.rb +1 -2
  362. data/lib/puppet/module.rb +4 -1
  363. data/lib/puppet/module_tool/applications/application.rb +1 -0
  364. data/lib/puppet/module_tool/applications/checksummer.rb +1 -0
  365. data/lib/puppet/module_tool/applications/installer.rb +1 -0
  366. data/lib/puppet/module_tool/applications/uninstaller.rb +1 -0
  367. data/lib/puppet/module_tool/applications/unpacker.rb +1 -0
  368. data/lib/puppet/module_tool/applications/upgrader.rb +1 -0
  369. data/lib/puppet/module_tool/applications.rb +1 -0
  370. data/lib/puppet/module_tool/checksums.rb +1 -0
  371. data/lib/puppet/module_tool/contents_description.rb +1 -0
  372. data/lib/puppet/module_tool/dependency.rb +1 -0
  373. data/lib/puppet/module_tool/errors/base.rb +1 -0
  374. data/lib/puppet/module_tool/errors/installer.rb +1 -0
  375. data/lib/puppet/module_tool/errors/shared.rb +1 -0
  376. data/lib/puppet/module_tool/errors/uninstaller.rb +1 -0
  377. data/lib/puppet/module_tool/errors/upgrader.rb +1 -0
  378. data/lib/puppet/module_tool/errors.rb +1 -0
  379. data/lib/puppet/module_tool/install_directory.rb +1 -0
  380. data/lib/puppet/module_tool/installed_modules.rb +1 -0
  381. data/lib/puppet/module_tool/local_tarball.rb +1 -0
  382. data/lib/puppet/module_tool/metadata.rb +1 -0
  383. data/lib/puppet/module_tool/shared_behaviors.rb +1 -0
  384. data/lib/puppet/module_tool/tar/gnu.rb +1 -0
  385. data/lib/puppet/module_tool/tar/mini.rb +1 -0
  386. data/lib/puppet/module_tool/tar.rb +1 -0
  387. data/lib/puppet/module_tool.rb +2 -1
  388. data/lib/puppet/network/authconfig.rb +1 -0
  389. data/lib/puppet/network/authorization.rb +1 -0
  390. data/lib/puppet/network/client_request.rb +1 -0
  391. data/lib/puppet/network/format.rb +1 -0
  392. data/lib/puppet/network/format_handler.rb +2 -1
  393. data/lib/puppet/network/format_support.rb +1 -0
  394. data/lib/puppet/network/formats.rb +6 -3
  395. data/lib/puppet/network/http/api/indirected_routes.rb +1 -0
  396. data/lib/puppet/network/http/api/indirection_type.rb +1 -0
  397. data/lib/puppet/network/http/api/master/v3/environments.rb +1 -0
  398. data/lib/puppet/network/http/api/master/v3.rb +1 -0
  399. data/lib/puppet/network/http/api/master.rb +1 -0
  400. data/lib/puppet/network/http/api/server/v3/environments.rb +1 -0
  401. data/lib/puppet/network/http/api/server/v3.rb +1 -0
  402. data/lib/puppet/network/http/api/server.rb +1 -0
  403. data/lib/puppet/network/http/api.rb +1 -0
  404. data/lib/puppet/network/http/connection.rb +1 -0
  405. data/lib/puppet/network/http/error.rb +1 -0
  406. data/lib/puppet/network/http/handler.rb +1 -0
  407. data/lib/puppet/network/http/issues.rb +1 -0
  408. data/lib/puppet/network/http/memory_response.rb +2 -1
  409. data/lib/puppet/network/http/request.rb +1 -0
  410. data/lib/puppet/network/http/response.rb +1 -0
  411. data/lib/puppet/network/http/route.rb +1 -0
  412. data/lib/puppet/network/http.rb +1 -0
  413. data/lib/puppet/network/http_pool.rb +1 -0
  414. data/lib/puppet/network/uri.rb +1 -0
  415. data/lib/puppet/network.rb +1 -0
  416. data/lib/puppet/node/environment.rb +7 -8
  417. data/lib/puppet/node/facts.rb +1 -0
  418. data/lib/puppet/node.rb +2 -1
  419. data/lib/puppet/pal/catalog_compiler.rb +1 -0
  420. data/lib/puppet/pal/compiler.rb +1 -0
  421. data/lib/puppet/pal/function_signature.rb +1 -0
  422. data/lib/puppet/pal/json_catalog_encoder.rb +1 -0
  423. data/lib/puppet/pal/pal_api.rb +1 -0
  424. data/lib/puppet/pal/pal_impl.rb +1 -0
  425. data/lib/puppet/pal/plan_signature.rb +1 -0
  426. data/lib/puppet/pal/script_compiler.rb +1 -0
  427. data/lib/puppet/pal/task_signature.rb +1 -0
  428. data/lib/puppet/parameter/boolean.rb +1 -0
  429. data/lib/puppet/parameter/package_options.rb +1 -0
  430. data/lib/puppet/parameter/path.rb +1 -0
  431. data/lib/puppet/parameter/value.rb +1 -0
  432. data/lib/puppet/parameter/value_collection.rb +2 -1
  433. data/lib/puppet/parameter.rb +1 -0
  434. data/lib/puppet/parser/abstract_compiler.rb +1 -0
  435. data/lib/puppet/parser/ast/block_expression.rb +1 -0
  436. data/lib/puppet/parser/ast/branch.rb +1 -0
  437. data/lib/puppet/parser/ast/hostclass.rb +1 -0
  438. data/lib/puppet/parser/ast/leaf.rb +1 -0
  439. data/lib/puppet/parser/ast/node.rb +1 -0
  440. data/lib/puppet/parser/ast/pops_bridge.rb +1 -0
  441. data/lib/puppet/parser/ast/resource.rb +1 -0
  442. data/lib/puppet/parser/ast/resource_instance.rb +1 -0
  443. data/lib/puppet/parser/ast/resourceparam.rb +1 -0
  444. data/lib/puppet/parser/ast/top_level_construct.rb +1 -0
  445. data/lib/puppet/parser/ast.rb +1 -0
  446. data/lib/puppet/parser/catalog_compiler.rb +1 -0
  447. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +1 -0
  448. data/lib/puppet/parser/compiler/catalog_validator.rb +1 -0
  449. data/lib/puppet/parser/compiler.rb +2 -1
  450. data/lib/puppet/parser/e4_parser_adapter.rb +1 -0
  451. data/lib/puppet/parser/files.rb +1 -0
  452. data/lib/puppet/parser/functions/assert_type.rb +1 -0
  453. data/lib/puppet/parser/functions/binary_file.rb +1 -0
  454. data/lib/puppet/parser/functions/break.rb +1 -0
  455. data/lib/puppet/parser/functions/contain.rb +1 -0
  456. data/lib/puppet/parser/functions/create_resources.rb +1 -0
  457. data/lib/puppet/parser/functions/defined.rb +1 -0
  458. data/lib/puppet/parser/functions/dig.rb +1 -0
  459. data/lib/puppet/parser/functions/digest.rb +1 -0
  460. data/lib/puppet/parser/functions/each.rb +1 -0
  461. data/lib/puppet/parser/functions/epp.rb +1 -0
  462. data/lib/puppet/parser/functions/fail.rb +1 -0
  463. data/lib/puppet/parser/functions/file.rb +1 -0
  464. data/lib/puppet/parser/functions/filter.rb +1 -0
  465. data/lib/puppet/parser/functions/find_file.rb +1 -0
  466. data/lib/puppet/parser/functions/fqdn_rand.rb +1 -0
  467. data/lib/puppet/parser/functions/generate.rb +1 -0
  468. data/lib/puppet/parser/functions/hiera.rb +1 -0
  469. data/lib/puppet/parser/functions/hiera_array.rb +1 -0
  470. data/lib/puppet/parser/functions/hiera_hash.rb +1 -0
  471. data/lib/puppet/parser/functions/hiera_include.rb +1 -0
  472. data/lib/puppet/parser/functions/include.rb +1 -0
  473. data/lib/puppet/parser/functions/inline_epp.rb +1 -0
  474. data/lib/puppet/parser/functions/inline_template.rb +1 -0
  475. data/lib/puppet/parser/functions/lest.rb +1 -0
  476. data/lib/puppet/parser/functions/lookup.rb +1 -0
  477. data/lib/puppet/parser/functions/map.rb +1 -0
  478. data/lib/puppet/parser/functions/match.rb +1 -0
  479. data/lib/puppet/parser/functions/md5.rb +1 -0
  480. data/lib/puppet/parser/functions/new.rb +1 -0
  481. data/lib/puppet/parser/functions/next.rb +1 -0
  482. data/lib/puppet/parser/functions/realize.rb +1 -0
  483. data/lib/puppet/parser/functions/reduce.rb +1 -0
  484. data/lib/puppet/parser/functions/regsubst.rb +1 -0
  485. data/lib/puppet/parser/functions/require.rb +1 -0
  486. data/lib/puppet/parser/functions/return.rb +1 -0
  487. data/lib/puppet/parser/functions/reverse_each.rb +1 -0
  488. data/lib/puppet/parser/functions/scanf.rb +1 -0
  489. data/lib/puppet/parser/functions/sha1.rb +1 -0
  490. data/lib/puppet/parser/functions/sha256.rb +1 -0
  491. data/lib/puppet/parser/functions/shellquote.rb +1 -0
  492. data/lib/puppet/parser/functions/slice.rb +1 -0
  493. data/lib/puppet/parser/functions/split.rb +1 -0
  494. data/lib/puppet/parser/functions/sprintf.rb +1 -0
  495. data/lib/puppet/parser/functions/step.rb +1 -0
  496. data/lib/puppet/parser/functions/strftime.rb +1 -0
  497. data/lib/puppet/parser/functions/tag.rb +1 -0
  498. data/lib/puppet/parser/functions/tagged.rb +1 -0
  499. data/lib/puppet/parser/functions/template.rb +1 -0
  500. data/lib/puppet/parser/functions/then.rb +1 -0
  501. data/lib/puppet/parser/functions/type.rb +1 -0
  502. data/lib/puppet/parser/functions/versioncmp.rb +1 -0
  503. data/lib/puppet/parser/functions/with.rb +1 -0
  504. data/lib/puppet/parser/functions.rb +2 -1
  505. data/lib/puppet/parser/parser_factory.rb +1 -0
  506. data/lib/puppet/parser/relationship.rb +1 -0
  507. data/lib/puppet/parser/resource/param.rb +1 -0
  508. data/lib/puppet/parser/resource.rb +1 -0
  509. data/lib/puppet/parser/scope.rb +6 -1
  510. data/lib/puppet/parser/script_compiler.rb +1 -0
  511. data/lib/puppet/parser/type_loader.rb +1 -0
  512. data/lib/puppet/parser.rb +1 -0
  513. data/lib/puppet/plugins/configuration.rb +1 -0
  514. data/lib/puppet/plugins/syntax_checkers.rb +1 -0
  515. data/lib/puppet/plugins.rb +1 -0
  516. data/lib/puppet/pops/adaptable.rb +1 -0
  517. data/lib/puppet/pops/adapters.rb +1 -0
  518. data/lib/puppet/pops/evaluator/access_operator.rb +2 -1
  519. data/lib/puppet/pops/evaluator/callable_signature.rb +1 -0
  520. data/lib/puppet/pops/evaluator/closure.rb +2 -1
  521. data/lib/puppet/pops/evaluator/collector_transformer.rb +1 -0
  522. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -0
  523. data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +1 -0
  524. data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +1 -0
  525. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +1 -0
  526. data/lib/puppet/pops/evaluator/compare_operator.rb +1 -0
  527. data/lib/puppet/pops/evaluator/deferred_resolver.rb +6 -22
  528. data/lib/puppet/pops/evaluator/epp_evaluator.rb +1 -0
  529. data/lib/puppet/pops/evaluator/evaluator_impl.rb +2 -1
  530. data/lib/puppet/pops/evaluator/external_syntax_support.rb +1 -0
  531. data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +2 -1
  532. data/lib/puppet/pops/evaluator/literal_evaluator.rb +2 -1
  533. data/lib/puppet/pops/evaluator/puppet_proc.rb +1 -0
  534. data/lib/puppet/pops/evaluator/relationship_operator.rb +1 -0
  535. data/lib/puppet/pops/evaluator/runtime3_converter.rb +1 -0
  536. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +2 -1
  537. data/lib/puppet/pops/evaluator/runtime3_support.rb +2 -1
  538. data/lib/puppet/pops/functions/dispatch.rb +1 -0
  539. data/lib/puppet/pops/functions/dispatcher.rb +1 -0
  540. data/lib/puppet/pops/functions/function.rb +1 -0
  541. data/lib/puppet/pops/issue_reporter.rb +1 -0
  542. data/lib/puppet/pops/issues.rb +1 -0
  543. data/lib/puppet/pops/label_provider.rb +1 -0
  544. data/lib/puppet/pops/loader/base_loader.rb +1 -0
  545. data/lib/puppet/pops/loader/dependency_loader.rb +1 -0
  546. data/lib/puppet/pops/loader/gem_support.rb +1 -0
  547. data/lib/puppet/pops/loader/generic_plan_instantiator.rb +1 -0
  548. data/lib/puppet/pops/loader/loader.rb +3 -2
  549. data/lib/puppet/pops/loader/loader_paths.rb +13 -12
  550. data/lib/puppet/pops/loader/module_loaders.rb +2 -1
  551. data/lib/puppet/pops/loader/predefined_loader.rb +1 -0
  552. data/lib/puppet/pops/loader/puppet_function_instantiator.rb +1 -0
  553. data/lib/puppet/pops/loader/puppet_plan_instantiator.rb +1 -0
  554. data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +1 -0
  555. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +2 -1
  556. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +2 -1
  557. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +3 -2
  558. data/lib/puppet/pops/loader/runtime3_type_loader.rb +1 -0
  559. data/lib/puppet/pops/loader/simple_environment_loader.rb +1 -0
  560. data/lib/puppet/pops/loader/static_loader.rb +1 -0
  561. data/lib/puppet/pops/loader/task_instantiator.rb +1 -0
  562. data/lib/puppet/pops/loader/type_definition_instantiator.rb +1 -0
  563. data/lib/puppet/pops/loader/typed_name.rb +2 -1
  564. data/lib/puppet/pops/loader/uri_helper.rb +1 -0
  565. data/lib/puppet/pops/loaders.rb +1 -0
  566. data/lib/puppet/pops/lookup/configured_data_provider.rb +1 -0
  567. data/lib/puppet/pops/lookup/context.rb +1 -0
  568. data/lib/puppet/pops/lookup/data_adapter.rb +1 -0
  569. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +3 -2
  570. data/lib/puppet/pops/lookup/data_hash_function_provider.rb +4 -3
  571. data/lib/puppet/pops/lookup/data_provider.rb +1 -0
  572. data/lib/puppet/pops/lookup/environment_data_provider.rb +1 -0
  573. data/lib/puppet/pops/lookup/explainer.rb +3 -2
  574. data/lib/puppet/pops/lookup/function_provider.rb +1 -0
  575. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -0
  576. data/lib/puppet/pops/lookup/hiera_config.rb +47 -42
  577. data/lib/puppet/pops/lookup/interpolation.rb +10 -4
  578. data/lib/puppet/pops/lookup/invocation.rb +1 -0
  579. data/lib/puppet/pops/lookup/key_recorder.rb +1 -0
  580. data/lib/puppet/pops/lookup/location_resolver.rb +1 -0
  581. data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -6
  582. data/lib/puppet/pops/lookup/lookup_key.rb +1 -0
  583. data/lib/puppet/pops/lookup/lookup_key_function_provider.rb +3 -2
  584. data/lib/puppet/pops/lookup/module_data_provider.rb +1 -0
  585. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -0
  586. data/lib/puppet/pops/lookup.rb +3 -2
  587. data/lib/puppet/pops/merge_strategy.rb +1 -0
  588. data/lib/puppet/pops/migration/migration_checker.rb +1 -0
  589. data/lib/puppet/pops/model/ast_transformer.rb +1 -0
  590. data/lib/puppet/pops/model/factory.rb +1 -1
  591. data/lib/puppet/pops/model/model_label_provider.rb +1 -0
  592. data/lib/puppet/pops/model/model_tree_dumper.rb +1 -0
  593. data/lib/puppet/pops/model/pn_transformer.rb +1 -0
  594. data/lib/puppet/pops/model/tree_dumper.rb +2 -1
  595. data/lib/puppet/pops/parser/code_merger.rb +1 -0
  596. data/lib/puppet/pops/parser/epp_parser.rb +1 -0
  597. data/lib/puppet/pops/parser/epp_support.rb +2 -1
  598. data/lib/puppet/pops/parser/evaluating_parser.rb +2 -1
  599. data/lib/puppet/pops/parser/heredoc_support.rb +1 -0
  600. data/lib/puppet/pops/parser/interpolation_support.rb +1 -0
  601. data/lib/puppet/pops/parser/lexer_support.rb +1 -0
  602. data/lib/puppet/pops/parser/locatable.rb +1 -0
  603. data/lib/puppet/pops/parser/locator.rb +1 -0
  604. data/lib/puppet/pops/parser/parser_support.rb +1 -0
  605. data/lib/puppet/pops/parser/pn_parser.rb +5 -4
  606. data/lib/puppet/pops/patterns.rb +1 -0
  607. data/lib/puppet/pops/pcore.rb +3 -2
  608. data/lib/puppet/pops/pn.rb +2 -1
  609. data/lib/puppet/pops/puppet_stack.rb +1 -0
  610. data/lib/puppet/pops/resource/param.rb +1 -0
  611. data/lib/puppet/pops/resource/resource_type_impl.rb +1 -0
  612. data/lib/puppet/pops/semantic_error.rb +1 -0
  613. data/lib/puppet/pops/serialization/abstract_reader.rb +1 -0
  614. data/lib/puppet/pops/serialization/abstract_writer.rb +1 -0
  615. data/lib/puppet/pops/serialization/deserializer.rb +1 -0
  616. data/lib/puppet/pops/serialization/extension.rb +1 -0
  617. data/lib/puppet/pops/serialization/from_data_converter.rb +1 -0
  618. data/lib/puppet/pops/serialization/instance_reader.rb +1 -0
  619. data/lib/puppet/pops/serialization/instance_writer.rb +1 -0
  620. data/lib/puppet/pops/serialization/json.rb +1 -0
  621. data/lib/puppet/pops/serialization/json_path.rb +2 -1
  622. data/lib/puppet/pops/serialization/object.rb +1 -0
  623. data/lib/puppet/pops/serialization/serializer.rb +1 -0
  624. data/lib/puppet/pops/serialization/time_factory.rb +1 -0
  625. data/lib/puppet/pops/serialization/to_data_converter.rb +2 -1
  626. data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -0
  627. data/lib/puppet/pops/serialization.rb +9 -8
  628. data/lib/puppet/pops/time/timespan.rb +15 -14
  629. data/lib/puppet/pops/time/timestamp.rb +3 -2
  630. data/lib/puppet/pops/types/annotatable.rb +2 -1
  631. data/lib/puppet/pops/types/annotation.rb +2 -1
  632. data/lib/puppet/pops/types/class_loader.rb +1 -0
  633. data/lib/puppet/pops/types/implementation_registry.rb +1 -0
  634. data/lib/puppet/pops/types/iterable.rb +1 -0
  635. data/lib/puppet/pops/types/p_binary_type.rb +1 -0
  636. data/lib/puppet/pops/types/p_init_type.rb +1 -0
  637. data/lib/puppet/pops/types/p_meta_type.rb +4 -3
  638. data/lib/puppet/pops/types/p_object_type.rb +16 -15
  639. data/lib/puppet/pops/types/p_object_type_extension.rb +1 -0
  640. data/lib/puppet/pops/types/p_runtime_type.rb +1 -0
  641. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -0
  642. data/lib/puppet/pops/types/p_sem_ver_type.rb +1 -0
  643. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -0
  644. data/lib/puppet/pops/types/p_timespan_type.rb +1 -0
  645. data/lib/puppet/pops/types/p_timestamp_type.rb +1 -0
  646. data/lib/puppet/pops/types/p_type_set_type.rb +9 -8
  647. data/lib/puppet/pops/types/p_uri_type.rb +9 -8
  648. data/lib/puppet/pops/types/puppet_object.rb +1 -0
  649. data/lib/puppet/pops/types/recursion_guard.rb +1 -0
  650. data/lib/puppet/pops/types/ruby_generator.rb +3 -2
  651. data/lib/puppet/pops/types/ruby_method.rb +1 -0
  652. data/lib/puppet/pops/types/string_converter.rb +10 -9
  653. data/lib/puppet/pops/types/tree_iterators.rb +1 -0
  654. data/lib/puppet/pops/types/type_acceptor.rb +1 -0
  655. data/lib/puppet/pops/types/type_asserter.rb +1 -0
  656. data/lib/puppet/pops/types/type_assertion_error.rb +1 -0
  657. data/lib/puppet/pops/types/type_calculator.rb +2 -1
  658. data/lib/puppet/pops/types/type_conversion_error.rb +1 -0
  659. data/lib/puppet/pops/types/type_factory.rb +2 -1
  660. data/lib/puppet/pops/types/type_formatter.rb +2 -2
  661. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -0
  662. data/lib/puppet/pops/types/type_parser.rb +1 -0
  663. data/lib/puppet/pops/types/type_set_reference.rb +1 -0
  664. data/lib/puppet/pops/types/type_with_members.rb +1 -0
  665. data/lib/puppet/pops/types/types.rb +3 -2
  666. data/lib/puppet/pops/utils.rb +3 -2
  667. data/lib/puppet/pops/validation/checker4_0.rb +1 -0
  668. data/lib/puppet/pops/validation/tasks_checker.rb +1 -0
  669. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -0
  670. data/lib/puppet/pops/validation.rb +1 -0
  671. data/lib/puppet/pops/visitable.rb +1 -0
  672. data/lib/puppet/pops/visitor.rb +1 -0
  673. data/lib/puppet/pops.rb +4 -3
  674. data/lib/puppet/property/boolean.rb +1 -0
  675. data/lib/puppet/property/ensure.rb +1 -0
  676. data/lib/puppet/property/keyvalue.rb +1 -0
  677. data/lib/puppet/property/list.rb +1 -0
  678. data/lib/puppet/property/ordered_list.rb +1 -0
  679. data/lib/puppet/property.rb +1 -0
  680. data/lib/puppet/provider/aix_object.rb +1 -0
  681. data/lib/puppet/provider/command.rb +1 -0
  682. data/lib/puppet/provider/confine.rb +1 -0
  683. data/lib/puppet/provider/exec/posix.rb +1 -0
  684. data/lib/puppet/provider/exec/shell.rb +1 -0
  685. data/lib/puppet/provider/exec/windows.rb +4 -3
  686. data/lib/puppet/provider/exec.rb +1 -0
  687. data/lib/puppet/provider/file/posix.rb +1 -0
  688. data/lib/puppet/provider/file/windows.rb +2 -1
  689. data/lib/puppet/provider/group/aix.rb +3 -2
  690. data/lib/puppet/provider/group/directoryservice.rb +3 -2
  691. data/lib/puppet/provider/group/groupadd.rb +2 -1
  692. data/lib/puppet/provider/group/ldap.rb +1 -0
  693. data/lib/puppet/provider/group/pw.rb +3 -2
  694. data/lib/puppet/provider/group/windows_adsi.rb +3 -2
  695. data/lib/puppet/provider/ldap.rb +1 -0
  696. data/lib/puppet/provider/nameservice/directoryservice.rb +5 -4
  697. data/lib/puppet/provider/nameservice/objectadd.rb +1 -0
  698. data/lib/puppet/provider/nameservice/pw.rb +1 -0
  699. data/lib/puppet/provider/nameservice.rb +1 -0
  700. data/lib/puppet/provider/network_device.rb +1 -0
  701. data/lib/puppet/provider/package/aix.rb +3 -2
  702. data/lib/puppet/provider/package/appdmg.rb +3 -2
  703. data/lib/puppet/provider/package/apple.rb +2 -1
  704. data/lib/puppet/provider/package/apt.rb +3 -2
  705. data/lib/puppet/provider/package/aptitude.rb +1 -0
  706. data/lib/puppet/provider/package/aptrpm.rb +1 -0
  707. data/lib/puppet/provider/package/blastwave.rb +2 -1
  708. data/lib/puppet/provider/package/dnf.rb +6 -6
  709. data/lib/puppet/provider/package/dnfmodule.rb +2 -1
  710. data/lib/puppet/provider/package/dpkg.rb +1 -0
  711. data/lib/puppet/provider/package/fink.rb +1 -0
  712. data/lib/puppet/provider/package/freebsd.rb +2 -1
  713. data/lib/puppet/provider/package/gem.rb +5 -4
  714. data/lib/puppet/provider/package/hpux.rb +3 -2
  715. data/lib/puppet/provider/package/macports.rb +2 -1
  716. data/lib/puppet/provider/package/nim.rb +1 -0
  717. data/lib/puppet/provider/package/openbsd.rb +3 -2
  718. data/lib/puppet/provider/package/opkg.rb +3 -2
  719. data/lib/puppet/provider/package/pacman.rb +3 -2
  720. data/lib/puppet/provider/package/pip.rb +1 -0
  721. data/lib/puppet/provider/package/pip2.rb +1 -0
  722. data/lib/puppet/provider/package/pip3.rb +1 -0
  723. data/lib/puppet/provider/package/pkg.rb +4 -3
  724. data/lib/puppet/provider/package/pkgdmg.rb +3 -2
  725. data/lib/puppet/provider/package/pkgin.rb +2 -1
  726. data/lib/puppet/provider/package/pkgng.rb +3 -2
  727. data/lib/puppet/provider/package/pkgutil.rb +2 -1
  728. data/lib/puppet/provider/package/portage.rb +3 -2
  729. data/lib/puppet/provider/package/ports.rb +1 -0
  730. data/lib/puppet/provider/package/portupgrade.rb +2 -1
  731. data/lib/puppet/provider/package/puppet_gem.rb +3 -2
  732. data/lib/puppet/provider/package/puppetserver_gem.rb +1 -0
  733. data/lib/puppet/provider/package/rpm.rb +1 -0
  734. data/lib/puppet/provider/package/rug.rb +2 -1
  735. data/lib/puppet/provider/package/sun.rb +3 -2
  736. data/lib/puppet/provider/package/sunfreeware.rb +2 -1
  737. data/lib/puppet/provider/package/tdnf.rb +2 -1
  738. data/lib/puppet/provider/package/up2date.rb +3 -2
  739. data/lib/puppet/provider/package/urpmi.rb +2 -1
  740. data/lib/puppet/provider/package/windows/exe_package.rb +1 -0
  741. data/lib/puppet/provider/package/windows/msi_package.rb +1 -0
  742. data/lib/puppet/provider/package/windows/package.rb +3 -2
  743. data/lib/puppet/provider/package/windows.rb +3 -2
  744. data/lib/puppet/provider/package/yum.rb +6 -5
  745. data/lib/puppet/provider/package/zypper.rb +3 -2
  746. data/lib/puppet/provider/package.rb +1 -0
  747. data/lib/puppet/provider/package_targetable.rb +1 -0
  748. data/lib/puppet/provider/parsedfile.rb +1 -0
  749. data/lib/puppet/provider/service/base.rb +2 -1
  750. data/lib/puppet/provider/service/bsd.rb +2 -1
  751. data/lib/puppet/provider/service/daemontools.rb +2 -1
  752. data/lib/puppet/provider/service/debian.rb +4 -3
  753. data/lib/puppet/provider/service/freebsd.rb +3 -2
  754. data/lib/puppet/provider/service/gentoo.rb +2 -1
  755. data/lib/puppet/provider/service/init.rb +9 -5
  756. data/lib/puppet/provider/service/launchd.rb +4 -3
  757. data/lib/puppet/provider/service/openbsd.rb +3 -2
  758. data/lib/puppet/provider/service/openrc.rb +3 -2
  759. data/lib/puppet/provider/service/openwrt.rb +3 -2
  760. data/lib/puppet/provider/service/rcng.rb +3 -2
  761. data/lib/puppet/provider/service/redhat.rb +4 -3
  762. data/lib/puppet/provider/service/runit.rb +1 -0
  763. data/lib/puppet/provider/service/service.rb +1 -0
  764. data/lib/puppet/provider/service/smf.rb +6 -5
  765. data/lib/puppet/provider/service/src.rb +3 -2
  766. data/lib/puppet/provider/service/systemd.rb +17 -17
  767. data/lib/puppet/provider/service/upstart.rb +8 -7
  768. data/lib/puppet/provider/service/windows.rb +3 -2
  769. data/lib/puppet/provider/user/aix.rb +3 -2
  770. data/lib/puppet/provider/user/directoryservice.rb +5 -4
  771. data/lib/puppet/provider/user/hpux.rb +3 -2
  772. data/lib/puppet/provider/user/ldap.rb +1 -0
  773. data/lib/puppet/provider/user/openbsd.rb +3 -2
  774. data/lib/puppet/provider/user/pw.rb +3 -2
  775. data/lib/puppet/provider/user/user_role_add.rb +2 -1
  776. data/lib/puppet/provider/user/useradd.rb +7 -6
  777. data/lib/puppet/provider/user/windows_adsi.rb +3 -2
  778. data/lib/puppet/provider.rb +1 -0
  779. data/lib/puppet/reference/configuration.rb +2 -1
  780. data/lib/puppet/reference/function.rb +1 -0
  781. data/lib/puppet/reference/indirection.rb +2 -1
  782. data/lib/puppet/reference/metaparameter.rb +1 -0
  783. data/lib/puppet/reference/providers.rb +5 -5
  784. data/lib/puppet/reference/report.rb +1 -0
  785. data/lib/puppet/reference/type.rb +1 -0
  786. data/lib/puppet/relationship.rb +1 -0
  787. data/lib/puppet/reports/http.rb +1 -0
  788. data/lib/puppet/reports/log.rb +1 -0
  789. data/lib/puppet/reports/store.rb +1 -0
  790. data/lib/puppet/reports.rb +2 -1
  791. data/lib/puppet/resource/catalog.rb +1 -0
  792. data/lib/puppet/resource/status.rb +1 -0
  793. data/lib/puppet/resource/type.rb +9 -8
  794. data/lib/puppet/resource.rb +9 -8
  795. data/lib/puppet/runtime.rb +1 -0
  796. data/lib/puppet/scheduler/job.rb +1 -0
  797. data/lib/puppet/scheduler/scheduler.rb +1 -0
  798. data/lib/puppet/scheduler/splay_job.rb +1 -0
  799. data/lib/puppet/scheduler/timer.rb +1 -0
  800. data/lib/puppet/scheduler.rb +1 -0
  801. data/lib/puppet/settings/alias_setting.rb +1 -0
  802. data/lib/puppet/settings/array_setting.rb +1 -0
  803. data/lib/puppet/settings/autosign_setting.rb +1 -0
  804. data/lib/puppet/settings/base_setting.rb +1 -0
  805. data/lib/puppet/settings/boolean_setting.rb +1 -0
  806. data/lib/puppet/settings/certificate_revocation_setting.rb +1 -0
  807. data/lib/puppet/settings/config_file.rb +1 -0
  808. data/lib/puppet/settings/directory_setting.rb +1 -0
  809. data/lib/puppet/settings/duration_setting.rb +1 -0
  810. data/lib/puppet/settings/enum_setting.rb +1 -0
  811. data/lib/puppet/settings/environment_conf.rb +1 -0
  812. data/lib/puppet/settings/errors.rb +1 -0
  813. data/lib/puppet/settings/file_or_directory_setting.rb +1 -0
  814. data/lib/puppet/settings/file_setting.rb +1 -0
  815. data/lib/puppet/settings/http_extra_headers_setting.rb +1 -0
  816. data/lib/puppet/settings/ini_file.rb +1 -0
  817. data/lib/puppet/settings/integer_setting.rb +1 -0
  818. data/lib/puppet/settings/path_setting.rb +1 -0
  819. data/lib/puppet/settings/port_setting.rb +1 -0
  820. data/lib/puppet/settings/priority_setting.rb +1 -0
  821. data/lib/puppet/settings/server_list_setting.rb +1 -0
  822. data/lib/puppet/settings/string_setting.rb +1 -0
  823. data/lib/puppet/settings/symbolic_enum_setting.rb +1 -0
  824. data/lib/puppet/settings/terminus_setting.rb +1 -0
  825. data/lib/puppet/settings/ttl_setting.rb +1 -0
  826. data/lib/puppet/settings/value_translator.rb +1 -0
  827. data/lib/puppet/settings.rb +7 -20
  828. data/lib/puppet/ssl/base.rb +1 -0
  829. data/lib/puppet/ssl/certificate.rb +1 -0
  830. data/lib/puppet/ssl/certificate_request.rb +2 -4
  831. data/lib/puppet/ssl/certificate_request_attributes.rb +1 -0
  832. data/lib/puppet/ssl/certificate_signer.rb +1 -0
  833. data/lib/puppet/ssl/digest.rb +1 -0
  834. data/lib/puppet/ssl/error.rb +1 -0
  835. data/lib/puppet/ssl/oids.rb +1 -1
  836. data/lib/puppet/ssl/openssl_loader.rb +1 -0
  837. data/lib/puppet/ssl/ssl_context.rb +16 -10
  838. data/lib/puppet/ssl/ssl_provider.rb +2 -1
  839. data/lib/puppet/ssl/state_machine.rb +1 -0
  840. data/lib/puppet/ssl/verifier.rb +1 -0
  841. data/lib/puppet/ssl.rb +2 -1
  842. data/lib/puppet/syntax_checkers/base64.rb +1 -0
  843. data/lib/puppet/syntax_checkers/epp.rb +1 -0
  844. data/lib/puppet/syntax_checkers/json.rb +1 -0
  845. data/lib/puppet/syntax_checkers/pp.rb +1 -0
  846. data/lib/puppet/syntax_checkers.rb +1 -0
  847. data/lib/puppet/test/test_helper.rb +4 -21
  848. data/lib/puppet/thread_local.rb +5 -1
  849. data/lib/puppet/transaction/additional_resource_generator.rb +1 -0
  850. data/lib/puppet/transaction/event.rb +1 -0
  851. data/lib/puppet/transaction/event_manager.rb +1 -0
  852. data/lib/puppet/transaction/persistence.rb +1 -0
  853. data/lib/puppet/transaction/report.rb +3 -2
  854. data/lib/puppet/transaction/resource_harness.rb +1 -0
  855. data/lib/puppet/transaction.rb +1 -0
  856. data/lib/puppet/trusted_external.rb +1 -0
  857. data/lib/puppet/type/component.rb +2 -1
  858. data/lib/puppet/type/exec.rb +8 -15
  859. data/lib/puppet/type/file/checksum.rb +1 -0
  860. data/lib/puppet/type/file/checksum_value.rb +1 -0
  861. data/lib/puppet/type/file/content.rb +1 -0
  862. data/lib/puppet/type/file/ctime.rb +1 -0
  863. data/lib/puppet/type/file/data_sync.rb +1 -0
  864. data/lib/puppet/type/file/ensure.rb +1 -0
  865. data/lib/puppet/type/file/group.rb +1 -0
  866. data/lib/puppet/type/file/mode.rb +1 -0
  867. data/lib/puppet/type/file/mtime.rb +1 -0
  868. data/lib/puppet/type/file/owner.rb +1 -0
  869. data/lib/puppet/type/file/selcontext.rb +1 -0
  870. data/lib/puppet/type/file/source.rb +2 -1
  871. data/lib/puppet/type/file/target.rb +1 -0
  872. data/lib/puppet/type/file/type.rb +1 -0
  873. data/lib/puppet/type/file.rb +1 -0
  874. data/lib/puppet/type/filebucket.rb +1 -0
  875. data/lib/puppet/type/group.rb +1 -0
  876. data/lib/puppet/type/notify.rb +1 -0
  877. data/lib/puppet/type/package.rb +3 -2
  878. data/lib/puppet/type/resources.rb +2 -2
  879. data/lib/puppet/type/schedule.rb +1 -0
  880. data/lib/puppet/type/service.rb +1 -0
  881. data/lib/puppet/type/stage.rb +1 -0
  882. data/lib/puppet/type/tidy.rb +1 -0
  883. data/lib/puppet/type/user.rb +1 -0
  884. data/lib/puppet/type/whit.rb +1 -0
  885. data/lib/puppet/type.rb +2 -42
  886. data/lib/puppet/util/at_fork/noop.rb +1 -0
  887. data/lib/puppet/util/at_fork/solaris.rb +1 -0
  888. data/lib/puppet/util/at_fork.rb +1 -0
  889. data/lib/puppet/util/autoload.rb +1 -0
  890. data/lib/puppet/util/backups.rb +1 -0
  891. data/lib/puppet/util/character_encoding.rb +1 -0
  892. data/lib/puppet/util/checksums.rb +1 -0
  893. data/lib/puppet/util/classgen.rb +1 -0
  894. data/lib/puppet/util/colors.rb +1 -0
  895. data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -0
  896. data/lib/puppet/util/command_line/trollop.rb +2 -1
  897. data/lib/puppet/util/command_line.rb +1 -0
  898. data/lib/puppet/util/constant_inflector.rb +1 -0
  899. data/lib/puppet/util/diff.rb +2 -1
  900. data/lib/puppet/util/docs.rb +1 -0
  901. data/lib/puppet/util/errors.rb +1 -0
  902. data/lib/puppet/util/execution.rb +7 -12
  903. data/lib/puppet/util/execution_stub.rb +1 -0
  904. data/lib/puppet/util/feature.rb +1 -0
  905. data/lib/puppet/util/file_watcher.rb +1 -0
  906. data/lib/puppet/util/fileparsing.rb +1 -0
  907. data/lib/puppet/util/filetype.rb +3 -2
  908. data/lib/puppet/util/http_proxy.rb +1 -0
  909. data/lib/puppet/util/inifile.rb +3 -2
  910. data/lib/puppet/util/instance_loader.rb +1 -0
  911. data/lib/puppet/util/json.rb +1 -0
  912. data/lib/puppet/util/json_lockfile.rb +1 -0
  913. data/lib/puppet/util/ldap/connection.rb +1 -0
  914. data/lib/puppet/util/ldap/generator.rb +1 -0
  915. data/lib/puppet/util/ldap/manager.rb +1 -0
  916. data/lib/puppet/util/ldap.rb +1 -0
  917. data/lib/puppet/util/libuser.rb +1 -0
  918. data/lib/puppet/util/limits.rb +1 -0
  919. data/lib/puppet/util/lockfile.rb +1 -0
  920. data/lib/puppet/util/log/destination.rb +1 -0
  921. data/lib/puppet/util/log/destinations.rb +1 -0
  922. data/lib/puppet/util/log.rb +1 -0
  923. data/lib/puppet/util/logging.rb +1 -0
  924. data/lib/puppet/util/metaid.rb +1 -0
  925. data/lib/puppet/util/metric.rb +1 -0
  926. data/lib/puppet/util/monkey_patches.rb +3 -28
  927. data/lib/puppet/util/multi_match.rb +1 -0
  928. data/lib/puppet/util/network_device/base.rb +1 -0
  929. data/lib/puppet/util/network_device/config.rb +1 -0
  930. data/lib/puppet/util/network_device/transport/base.rb +1 -0
  931. data/lib/puppet/util/network_device/transport.rb +1 -0
  932. data/lib/puppet/util/network_device.rb +1 -0
  933. data/lib/puppet/util/package/version/debian.rb +1 -0
  934. data/lib/puppet/util/package/version/gem.rb +1 -0
  935. data/lib/puppet/util/package/version/pip.rb +4 -3
  936. data/lib/puppet/util/package/version/range/eq.rb +1 -0
  937. data/lib/puppet/util/package/version/range/gt.rb +1 -0
  938. data/lib/puppet/util/package/version/range/gt_eq.rb +1 -0
  939. data/lib/puppet/util/package/version/range/lt.rb +1 -0
  940. data/lib/puppet/util/package/version/range/lt_eq.rb +1 -0
  941. data/lib/puppet/util/package/version/range/min_max.rb +1 -0
  942. data/lib/puppet/util/package/version/range/simple.rb +1 -0
  943. data/lib/puppet/util/package/version/range.rb +1 -0
  944. data/lib/puppet/util/package/version/rpm.rb +1 -1
  945. data/lib/puppet/util/pidlock.rb +1 -0
  946. data/lib/puppet/util/platform.rb +3 -2
  947. data/lib/puppet/util/plist.rb +1 -0
  948. data/lib/puppet/util/posix.rb +1 -0
  949. data/lib/puppet/util/profiler/aggregate.rb +1 -0
  950. data/lib/puppet/util/profiler/around_profiler.rb +1 -0
  951. data/lib/puppet/util/profiler/logging.rb +1 -0
  952. data/lib/puppet/util/profiler/object_counts.rb +1 -0
  953. data/lib/puppet/util/profiler/wall_clock.rb +1 -0
  954. data/lib/puppet/util/profiler.rb +1 -0
  955. data/lib/puppet/util/provider_features.rb +2 -1
  956. data/lib/puppet/util/psych_support.rb +1 -0
  957. data/lib/puppet/util/rdoc/code_objects.rb +1 -0
  958. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +1 -0
  959. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +1 -0
  960. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -0
  961. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -0
  962. data/lib/puppet/util/rdoc/parser.rb +1 -0
  963. data/lib/puppet/util/rdoc.rb +1 -0
  964. data/lib/puppet/util/reference.rb +1 -0
  965. data/lib/puppet/util/resource_template.rb +1 -0
  966. data/lib/puppet/util/retry_action.rb +1 -0
  967. data/lib/puppet/util/rpm_compare.rb +1 -0
  968. data/lib/puppet/util/rubygems.rb +1 -0
  969. data/lib/puppet/util/run_mode.rb +1 -0
  970. data/lib/puppet/util/selinux.rb +2 -1
  971. data/lib/puppet/util/skip_tags.rb +1 -0
  972. data/lib/puppet/util/splayer.rb +1 -0
  973. data/lib/puppet/util/storage.rb +1 -0
  974. data/lib/puppet/util/suidmanager.rb +2 -1
  975. data/lib/puppet/util/symbolic_file_mode.rb +1 -0
  976. data/lib/puppet/util/tag_set.rb +1 -0
  977. data/lib/puppet/util/terminal.rb +1 -0
  978. data/lib/puppet/util/user_attr.rb +1 -0
  979. data/lib/puppet/util/warnings.rb +1 -0
  980. data/lib/puppet/util/watched_file.rb +1 -0
  981. data/lib/puppet/util/watcher/change_watcher.rb +1 -0
  982. data/lib/puppet/util/watcher/periodic_watcher.rb +1 -0
  983. data/lib/puppet/util/watcher/timer.rb +1 -0
  984. data/lib/puppet/util/watcher.rb +1 -0
  985. data/lib/puppet/util/windows/access_control_entry.rb +2 -1
  986. data/lib/puppet/util/windows/access_control_list.rb +2 -1
  987. data/lib/puppet/util/windows/adsi.rb +3 -9
  988. data/lib/puppet/util/windows/com.rb +1 -0
  989. data/lib/puppet/util/windows/daemon.rb +1 -0
  990. data/lib/puppet/util/windows/error.rb +2 -1
  991. data/lib/puppet/util/windows/eventlog.rb +1 -0
  992. data/lib/puppet/util/windows/file.rb +3 -2
  993. data/lib/puppet/util/windows/principal.rb +1 -0
  994. data/lib/puppet/util/windows/process.rb +2 -1
  995. data/lib/puppet/util/windows/registry.rb +1 -0
  996. data/lib/puppet/util/windows/root_certs.rb +1 -0
  997. data/lib/puppet/util/windows/security.rb +1 -0
  998. data/lib/puppet/util/windows/security_descriptor.rb +1 -0
  999. data/lib/puppet/util/windows/service.rb +1 -0
  1000. data/lib/puppet/util/windows/sid.rb +3 -4
  1001. data/lib/puppet/util/windows/string.rb +1 -0
  1002. data/lib/puppet/util/windows/user.rb +1 -0
  1003. data/lib/puppet/util/windows.rb +1 -0
  1004. data/lib/puppet/util/yaml.rb +1 -0
  1005. data/lib/puppet/util.rb +32 -87
  1006. data/lib/puppet/vendor.rb +1 -0
  1007. data/lib/puppet/version.rb +2 -1
  1008. data/lib/puppet/x509/cert_provider.rb +3 -6
  1009. data/lib/puppet/x509/pem_store.rb +1 -0
  1010. data/lib/puppet/x509.rb +1 -0
  1011. data/lib/puppet.rb +5 -8
  1012. data/lib/puppet_pal.rb +1 -0
  1013. data/lib/puppet_x.rb +1 -0
  1014. data/locales/puppet.pot +9679 -5
  1015. data/man/man5/puppet.conf.5 +13 -13
  1016. data/man/man8/puppet-agent.8 +1 -1
  1017. data/man/man8/puppet-apply.8 +1 -1
  1018. data/man/man8/puppet-catalog.8 +1 -5
  1019. data/man/man8/puppet-config.8 +1 -1
  1020. data/man/man8/puppet-describe.8 +1 -1
  1021. data/man/man8/puppet-device.8 +1 -1
  1022. data/man/man8/puppet-doc.8 +1 -1
  1023. data/man/man8/puppet-epp.8 +1 -1
  1024. data/man/man8/puppet-facts.8 +1 -5
  1025. data/man/man8/puppet-filebucket.8 +1 -1
  1026. data/man/man8/puppet-generate.8 +1 -1
  1027. data/man/man8/puppet-help.8 +1 -1
  1028. data/man/man8/puppet-lookup.8 +1 -1
  1029. data/man/man8/puppet-module.8 +1 -1
  1030. data/man/man8/puppet-node.8 +1 -5
  1031. data/man/man8/puppet-parser.8 +1 -1
  1032. data/man/man8/puppet-plugin.8 +1 -1
  1033. data/man/man8/puppet-report.8 +1 -5
  1034. data/man/man8/puppet-resource.8 +1 -1
  1035. data/man/man8/puppet-script.8 +1 -1
  1036. data/man/man8/puppet-ssl.8 +1 -5
  1037. data/man/man8/puppet.8 +2 -2
  1038. data/spec/fixtures/releases/jamtur01-apache/lib/puppet/provider/a2mod/debian.rb +1 -1
  1039. data/spec/fixtures/releases/jamtur01-apache/manifests/init.pp +1 -1
  1040. data/spec/fixtures/releases/jamtur01-apache/manifests/params.pp +1 -1
  1041. data/spec/fixtures/releases/jamtur01-apache/manifests/ssl.pp +1 -1
  1042. data/spec/fixtures/releases/jamtur01-apache/manifests/vhost.pp +1 -1
  1043. data/spec/integration/application/agent_spec.rb +17 -25
  1044. data/spec/integration/application/apply_spec.rb +23 -29
  1045. data/spec/integration/configurer_spec.rb +4 -2
  1046. data/spec/integration/defaults_spec.rb +3 -3
  1047. data/spec/integration/http/client_spec.rb +2 -18
  1048. data/spec/integration/network/formats_spec.rb +1 -1
  1049. data/spec/integration/network/http/api/indirected_routes_spec.rb +2 -2
  1050. data/spec/integration/network/http_pool_spec.rb +2 -2
  1051. data/spec/integration/node/facts_spec.rb +2 -2
  1052. data/spec/integration/parser/compiler_spec.rb +15 -4
  1053. data/spec/integration/parser/conditionals_spec.rb +3 -0
  1054. data/spec/integration/parser/scope_spec.rb +10 -3
  1055. data/spec/integration/type/exec_spec.rb +0 -13
  1056. data/spec/integration/type/file_spec.rb +2 -2
  1057. data/spec/integration/type/package_spec.rb +5 -5
  1058. data/spec/integration/util_spec.rb +1 -1
  1059. data/spec/lib/puppet_spec/network.rb +18 -0
  1060. data/spec/lib/puppet_spec/puppetserver.rb +0 -1
  1061. data/spec/shared_examples/rhel_package_provider.rb +2 -2
  1062. data/spec/unit/application/device_spec.rb +2 -2
  1063. data/spec/unit/application/lookup_spec.rb +6 -0
  1064. data/spec/unit/application/resource_spec.rb +22 -13
  1065. data/spec/unit/application/ssl_spec.rb +0 -49
  1066. data/spec/unit/configurer/fact_handler_spec.rb +1 -1
  1067. data/spec/unit/confine_spec.rb +6 -6
  1068. data/spec/unit/data_providers/hiera_data_provider_spec.rb +2 -0
  1069. data/spec/unit/defaults_spec.rb +48 -2
  1070. data/spec/unit/external/pson_spec.rb +1 -3
  1071. data/spec/unit/face/epp_face_spec.rb +2 -2
  1072. data/spec/unit/file_bucket/dipper_spec.rb +2 -2
  1073. data/spec/unit/file_serving/metadata_spec.rb +3 -3
  1074. data/spec/unit/file_serving/mount/file_spec.rb +2 -2
  1075. data/spec/unit/file_system/path_pattern_spec.rb +0 -15
  1076. data/spec/unit/functions/epp_spec.rb +7 -1
  1077. data/spec/unit/functions/hiera_spec.rb +7 -7
  1078. data/spec/unit/functions/inline_epp_spec.rb +7 -1
  1079. data/spec/unit/functions/lookup_spec.rb +59 -69
  1080. data/spec/unit/functions/max_spec.rb +30 -1
  1081. data/spec/unit/functions/min_spec.rb +30 -1
  1082. data/spec/unit/functions/return_spec.rb +4 -0
  1083. data/spec/unit/functions/split_spec.rb +0 -6
  1084. data/spec/unit/hiera/scope_spec.rb +6 -1
  1085. data/spec/unit/hiera_puppet_spec.rb +1 -1
  1086. data/spec/unit/http/factory_spec.rb +1 -1
  1087. data/spec/unit/http/service/compiler_spec.rb +5 -3
  1088. data/spec/unit/http/service/file_server_spec.rb +5 -3
  1089. data/spec/unit/http/service/report_spec.rb +4 -14
  1090. data/spec/unit/http/service_spec.rb +5 -11
  1091. data/spec/unit/indirector/catalog/compiler_spec.rb +12 -28
  1092. data/spec/unit/indirector/catalog/rest_spec.rb +0 -17
  1093. data/spec/unit/indirector/face_spec.rb +4 -6
  1094. data/spec/unit/indirector/facts/facter_spec.rb +1 -1
  1095. data/spec/unit/indirector/hiera_spec.rb +7 -2
  1096. data/spec/unit/indirector/report/rest_spec.rb +0 -26
  1097. data/spec/unit/indirector/rest_spec.rb +1 -1
  1098. data/spec/unit/module_spec.rb +2 -6
  1099. data/spec/unit/module_tool/tar_spec.rb +3 -3
  1100. data/spec/unit/network/formats_spec.rb +1 -1
  1101. data/spec/unit/network/http/api/indirected_routes_spec.rb +10 -10
  1102. data/spec/unit/parser/scope_spec.rb +4 -0
  1103. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +8 -0
  1104. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +5 -0
  1105. data/spec/unit/pops/loaders/loaders_spec.rb +7 -7
  1106. data/spec/unit/pops/lookup/interpolation_spec.rb +12 -0
  1107. data/spec/unit/pops/serialization/serialization_spec.rb +2 -2
  1108. data/spec/unit/pops/serialization/to_from_hr_spec.rb +13 -1
  1109. data/spec/unit/pops/validator/validator_spec.rb +2 -3
  1110. data/spec/unit/provider/package/appdmg_spec.rb +1 -1
  1111. data/spec/unit/provider/package/apt_spec.rb +2 -2
  1112. data/spec/unit/provider/package/dnf_spec.rb +15 -22
  1113. data/spec/unit/provider/package/dnfmodule_spec.rb +8 -28
  1114. data/spec/unit/provider/package/gem_spec.rb +4 -4
  1115. data/spec/unit/provider/package/pip2_spec.rb +2 -2
  1116. data/spec/unit/provider/package/pip3_spec.rb +2 -2
  1117. data/spec/unit/provider/package/pip_spec.rb +2 -2
  1118. data/spec/unit/provider/package/pkg_spec.rb +8 -8
  1119. data/spec/unit/provider/package/pkgng_spec.rb +1 -1
  1120. data/spec/unit/provider/package/portage_spec.rb +2 -2
  1121. data/spec/unit/provider/package/puppet_gem_spec.rb +6 -6
  1122. data/spec/unit/provider/package/puppetserver_gem_spec.rb +2 -2
  1123. data/spec/unit/provider/package/tdnf_spec.rb +2 -2
  1124. data/spec/unit/provider/package/up2date_spec.rb +2 -2
  1125. data/spec/unit/provider/package/yum_spec.rb +16 -16
  1126. data/spec/unit/provider/service/base_spec.rb +1 -1
  1127. data/spec/unit/provider/service/bsd_spec.rb +2 -2
  1128. data/spec/unit/provider/service/debian_spec.rb +7 -7
  1129. data/spec/unit/provider/service/freebsd_spec.rb +1 -1
  1130. data/spec/unit/provider/service/gentoo_spec.rb +2 -2
  1131. data/spec/unit/provider/service/init_spec.rb +8 -8
  1132. data/spec/unit/provider/service/openbsd_spec.rb +2 -2
  1133. data/spec/unit/provider/service/openwrt_spec.rb +1 -1
  1134. data/spec/unit/provider/service/rcng_spec.rb +2 -2
  1135. data/spec/unit/provider/service/redhat_spec.rb +7 -7
  1136. data/spec/unit/provider/service/smf_spec.rb +8 -8
  1137. data/spec/unit/provider/service/systemd_spec.rb +60 -62
  1138. data/spec/unit/provider/service/upstart_spec.rb +3 -3
  1139. data/spec/unit/provider/user/directoryservice_spec.rb +2 -2
  1140. data/spec/unit/provider/user/openbsd_spec.rb +2 -2
  1141. data/spec/unit/provider/user/useradd_spec.rb +14 -14
  1142. data/spec/unit/provider_spec.rb +51 -51
  1143. data/spec/unit/reports/store_spec.rb +5 -3
  1144. data/spec/unit/resource/catalog_spec.rb +13 -4
  1145. data/spec/unit/ssl/certificate_request_spec.rb +6 -2
  1146. data/spec/unit/ssl/ssl_provider_spec.rb +9 -4
  1147. data/spec/unit/ssl/state_machine_spec.rb +1 -6
  1148. data/spec/unit/test/test_helper_spec.rb +4 -4
  1149. data/spec/unit/transaction/report_spec.rb +39 -7
  1150. data/spec/unit/type/exec_spec.rb +0 -13
  1151. data/spec/unit/type/package_spec.rb +3 -3
  1152. data/spec/unit/type/resources_spec.rb +2 -2
  1153. data/spec/unit/type_spec.rb +2 -2
  1154. data/spec/unit/util/execution_spec.rb +0 -1
  1155. data/spec/unit/util/json_lockfile_spec.rb +1 -1
  1156. data/spec/unit/util/monkey_patches_spec.rb +0 -18
  1157. data/spec/unit/util/run_mode_spec.rb +0 -32
  1158. data/spec/unit/util/windows/adsi_spec.rb +0 -25
  1159. data/spec/unit/util_spec.rb +68 -62
  1160. data/spec/unit/x509/cert_provider_spec.rb +2 -2
  1161. metadata +19 -39
  1162. data/lib/puppet/external/pson/common.rb +0 -374
  1163. data/lib/puppet/external/pson/pure/generator.rb +0 -395
  1164. data/lib/puppet/external/pson/pure/parser.rb +0 -308
  1165. data/lib/puppet/external/pson/pure.rb +0 -15
  1166. data/lib/puppet/external/pson/version.rb +0 -8
  1167. data/spec/unit/ssl/certificate_signer_spec.rb +0 -17
@@ -1,9 +1,11 @@
1
1
  require 'spec_helper'
2
2
 
3
+ require 'puppet_spec/network'
3
4
  require 'puppet/configurer'
4
5
 
5
6
  describe Puppet::Configurer do
6
7
  include PuppetSpec::Files
8
+ include PuppetSpec::Network
7
9
 
8
10
  describe "when running" do
9
11
  before(:each) do
@@ -117,7 +119,7 @@ describe Puppet::Configurer do
117
119
  "values" => {"test_fact" => 'test value',},
118
120
  }),
119
121
  headers: {
120
- 'Accept'=>'application/json, application/x-msgpack, text/pson',
122
+ 'Accept'=>acceptable_content_types_string,
121
123
  'Content-Type'=>'application/json',
122
124
  })
123
125
 
@@ -150,7 +152,7 @@ describe Puppet::Configurer do
150
152
  "values" => {"test_fact": "test value"},
151
153
  }),
152
154
  headers: {
153
- 'Accept'=>'application/json, application/x-msgpack, text/pson',
155
+ 'Accept'=>acceptable_content_types_string,
154
156
  'Content-Type'=>'application/json',
155
157
  }).to_return(status: 200)
156
158
 
@@ -137,7 +137,7 @@ describe "Puppet defaults" do
137
137
 
138
138
  it "path should not add anything" do
139
139
  path = "c:\\windows\\system32#{File::PATH_SEPARATOR}c:\\windows"
140
- Puppet::Util.withenv( {"PATH" => path }, :windows ) do
140
+ Puppet::Util.withenv("PATH" => path) do
141
141
  Puppet.settings[:path] = "none" # this causes it to ignore the setting
142
142
  expect(ENV["PATH"]).to eq(path)
143
143
  end
@@ -145,10 +145,10 @@ describe "Puppet defaults" do
145
145
 
146
146
  it "path should support UTF8 characters" do
147
147
  path = "c:\\windows\\system32#{File::PATH_SEPARATOR}c:\\windows#{File::PATH_SEPARATOR}C:\\" + rune_utf8
148
- Puppet::Util.withenv( {"PATH" => path }, :windows) do
148
+ Puppet::Util.withenv("PATH" => path) do
149
149
  Puppet.settings[:path] = "none" # this causes it to ignore the setting
150
150
 
151
- expect(Puppet::Util.get_env('Path')).to eq(path)
151
+ expect(ENV['Path']).to eq(path)
152
152
  end
153
153
  end
154
154
  end
@@ -53,7 +53,7 @@ describe Puppet::HTTP::Client, unless: Puppet::Util::Platform.jruby? do
53
53
  expect {
54
54
  client.get(URI("https://127.0.0.1:#{port}"), options: {ssl_context: alt_context})
55
55
  }.to raise_error(Puppet::SSL::CertVerifyError,
56
- %r{certificate verify failed.* .self signed certificate in certificate chain for CN=Test CA.})
56
+ %r{certificate verify failed.* .self.signed certificate in certificate chain for CN=Test CA.})
57
57
  end
58
58
  end
59
59
 
@@ -170,23 +170,7 @@ describe Puppet::HTTP::Client, unless: Puppet::Util::Platform.jruby? do
170
170
  expect {
171
171
  client.get(URI("https://127.0.0.1:#{port}"), options: {ssl_context: system_context})
172
172
  }.to raise_error(Puppet::SSL::CertVerifyError,
173
- %r{certificate verify failed.* .self signed certificate in certificate chain for CN=Test CA.})
174
- end
175
- end
176
- end
177
-
178
- context 'ensure that retrying does not attempt to read the body after closing the connection' do
179
- let(:client) { Puppet::HTTP::Client.new(retry_limit: 1) }
180
- it 'raises a retry error instead' do
181
- response_proc = -> (req, res) {
182
- res['Retry-After'] = 1
183
- res.status = 503
184
- }
185
-
186
- https_server.start_server(response_proc: response_proc) do |port|
187
- uri = URI("https://127.0.0.1:#{port}")
188
- kwargs = {headers: {'Content-Type' => 'text/plain'}, options: {ssl_context: root_context}}
189
- expect{client.post(uri, '', **kwargs)}.to raise_error(Puppet::HTTP::TooManyRetryAfters)
173
+ %r{certificate verify failed.* .self.signed certificate in certificate chain for CN=Test CA.})
190
174
  end
191
175
  end
192
176
  end
@@ -43,7 +43,7 @@ describe Puppet::Network::FormatHandler.format(:s) do
43
43
  end
44
44
  end
45
45
 
46
- describe Puppet::Network::FormatHandler.format(:pson) do
46
+ describe Puppet::Network::FormatHandler.format(:pson), if: Puppet.features.pson? do
47
47
  before do
48
48
  @pson = Puppet::Network::FormatHandler.format(:pson)
49
49
  end
@@ -32,7 +32,7 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
32
32
 
33
33
  it "should find the file metadata with expected checksum" do
34
34
  request = a_request_that_finds(Puppet::IndirectorProxy.new("modules/lib/file.rb", "file_metadata"),
35
- {:accept_header => 'unknown, text/pson'},
35
+ {:accept_header => 'unknown, application/json'},
36
36
  {:environment => 'production', :checksum_type => checksum_type})
37
37
  handler.call(request, response)
38
38
  resp = Puppet::Util::Json.load(response.body)
@@ -43,7 +43,7 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
43
43
 
44
44
  it "should search for the file metadata with expected checksum" do
45
45
  request = a_request_that_searches(Puppet::IndirectorProxy.new("modules/lib", "file_metadata"),
46
- {:accept_header => 'unknown, text/pson'},
46
+ {:accept_header => 'unknown, application/json'},
47
47
  {:environment => 'production', :checksum_type => checksum_type, :recurse => 'yes'})
48
48
  handler.call(request, response)
49
49
  resp = Puppet::Util::Json.load(response.body)
@@ -77,7 +77,7 @@ describe Puppet::Network::HttpPool, unless: Puppet::Util::Platform.jruby? do
77
77
  expect {
78
78
  http.get('/')
79
79
  }.to raise_error(Puppet::Error,
80
- %r{certificate verify failed.* .self signed certificate in certificate chain for CN=Test CA.})
80
+ %r{certificate verify failed.* .self.signed certificate in certificate chain for CN=Test CA.})
81
81
  end
82
82
  end
83
83
 
@@ -219,7 +219,7 @@ describe Puppet::Network::HttpPool, unless: Puppet::Util::Platform.jruby? do
219
219
  expect {
220
220
  http.get('/')
221
221
  }.to raise_error(Puppet::Error,
222
- %r{certificate verify failed.* .self signed certificate in certificate chain for CN=Test CA.})
222
+ %r{certificate verify failed.* .self.signed certificate in certificate chain for CN=Test CA.})
223
223
  end
224
224
  end
225
225
 
@@ -30,9 +30,9 @@ describe Puppet::Node::Facts do
30
30
  it "should be able to delegate to the :facter terminus" do
31
31
  allow(Puppet::Node::Facts.indirection).to receive(:terminus_class).and_return(:facter)
32
32
 
33
- expect(Facter).to receive(:to_hash).and_return("facter_hash")
33
+ expect(Facter).to receive(:resolve).and_return({1 => 2})
34
34
  facts = Puppet::Node::Facts.new("me")
35
- expect(Puppet::Node::Facts).to receive(:new).with("me", "facter_hash").and_return(facts)
35
+ expect(Puppet::Node::Facts).to receive(:new).with("me", {1 => 2}).and_return(facts)
36
36
 
37
37
  expect(Puppet::Node::Facts.indirection.find("me")).to equal(facts)
38
38
  end
@@ -158,7 +158,7 @@ describe Puppet::Parser::Compiler do
158
158
  it 'makes $settings::strict available as string' do
159
159
  node = Puppet::Node.new("testing")
160
160
  catalog = compile_to_catalog(<<-MANIFEST, node)
161
- notify { 'test': message => $settings::strict == 'warning' }
161
+ notify { 'test': message => $settings::strict == 'error' }
162
162
  MANIFEST
163
163
  expect(catalog).to have_resource("Notify[test]").with_parameter(:message, true)
164
164
  end
@@ -174,7 +174,7 @@ describe Puppet::Parser::Compiler do
174
174
  it 'makes all server settings available as $settings::all_local hash' do
175
175
  node = Puppet::Node.new("testing")
176
176
  catalog = compile_to_catalog(<<-MANIFEST, node)
177
- notify { 'test': message => $settings::all_local['strict'] == 'warning' }
177
+ notify { 'test': message => $settings::all_local['strict'] == 'error' }
178
178
  MANIFEST
179
179
  expect(catalog).to have_resource("Notify[test]").with_parameter(:message, true)
180
180
  end
@@ -693,8 +693,19 @@ describe Puppet::Parser::Compiler do
693
693
  end.to raise_error(/Illegal variable name/)
694
694
  end
695
695
 
696
- it 'a missing variable as default value becomes undef' do
697
- # strict variables not on
696
+ it 'a missing variable as default causes an evaluation error' do
697
+ # strict mode on by default for 8.x
698
+ expect {
699
+ compile_to_catalog(<<-MANIFEST)
700
+ class a ($b=$x) { notify {test: message=>"yes ${undef == $b}" } }
701
+ include a
702
+ MANIFEST
703
+ }.to raise_error(/Evaluation Error: Unknown variable: 'x'/)
704
+ end
705
+
706
+ it 'a missing variable as default value becomes undef when strict mode is off' do
707
+ Puppet[:strict_variables] = false
708
+ Puppet[:strict] = :warning
698
709
  catalog = compile_to_catalog(<<-MANIFEST)
699
710
  class a ($b=$x) { notify {test: message=>"yes ${undef == $b}" } }
700
711
  include a
@@ -68,6 +68,9 @@ describe "Evaluation of Conditionals" do
68
68
  end
69
69
 
70
70
  it "evaluates undefined variables as false" do
71
+ # strict mode is off so behavior this test is trying to check isn't stubbed out
72
+ Puppet[:strict_variables] = false
73
+ Puppet[:strict] = :warning
71
74
  catalog = compile_to_catalog(<<-CODE)
72
75
  if $undef_var {
73
76
  } else {
@@ -276,6 +276,9 @@ describe "Two step scoping for variables" do
276
276
 
277
277
  ['a:.b', '::a::b'].each do |ref|
278
278
  it "does not resolve a qualified name on the form #{ref} against top scope" do
279
+ # strict mode is off so behavior this test is trying to check isn't stubbed out
280
+ Puppet[:strict_variables] = false
281
+ Puppet[:strict] = :warning
279
282
  expect_the_message_not_to_be("from topscope") do <<-"MANIFEST"
280
283
  class c {
281
284
  notify { 'something': message => "$#{ref}" }
@@ -297,6 +300,9 @@ describe "Two step scoping for variables" do
297
300
 
298
301
  ['a:.b', '::a::b'].each do |ref|
299
302
  it "does not resolve a qualified name on the form #{ref} against node scope" do
303
+ # strict mode is off so behavior this test is trying to check isn't stubbed out
304
+ Puppet[:strict_variables] = false
305
+ Puppet[:strict] = :warning
300
306
  expect_the_message_not_to_be("from node") do <<-MANIFEST
301
307
  class c {
302
308
  notify { 'something': message => "$a::b" }
@@ -626,8 +632,9 @@ describe "Two step scoping for variables" do
626
632
  end
627
633
  end
628
634
 
629
- it "finds nil when the only set variable is in the dynamic scope" do
630
- expect_the_message_to_be(nil) do <<-MANIFEST
635
+ it "raises an evaluation error when the only set variable is in the dynamic scope" do
636
+ expect {
637
+ compile_to_catalog(<<-MANIFEST)
631
638
  node default {
632
639
  include baz
633
640
  }
@@ -641,7 +648,7 @@ describe "Two step scoping for variables" do
641
648
  include bar
642
649
  }
643
650
  MANIFEST
644
- end
651
+ }.to raise_error(/Evaluation Error: Unknown variable: 'var'./)
645
652
  end
646
653
 
647
654
  it "ignores the value in the dynamic scope for a defined type" do
@@ -75,19 +75,6 @@ describe Puppet::Type.type(:exec), unless: Puppet::Util::Platform.jruby? do
75
75
  end
76
76
  end
77
77
 
78
- context 'when an exec sends an EOF' do
79
- let(:command) { ["/bin/bash", "-c", "exec /bin/sleep 1 >/dev/null 2>&1"] }
80
-
81
- it 'should not take significant user time' do
82
- exec = described_class.new :command => command, :path => ENV['PATH']
83
- catalog.add_resource exec
84
- timed_apply = Benchmark.measure { catalog.apply }
85
- # In testing I found the user time before the patch in 4f35fd262e to be above
86
- # 0.3, after the patch it was consistently below 0.1 seconds.
87
- expect(timed_apply.utime).to be < 0.3
88
- end
89
- end
90
-
91
78
  context 'when command is a string' do
92
79
  let(:command) { "ruby -e 'File.open(\"#{path}\", \"w\") { |f| f.print \"foo\" }'" }
93
80
 
@@ -1710,11 +1710,11 @@ describe Puppet::Type.type(:file), :uses_checksums => true do
1710
1710
 
1711
1711
  describe "when using validate_cmd" do
1712
1712
  test_cmd = '/bin/test'
1713
- if Puppet.runtime[:facter].value(:osfamily) == 'Debian'
1713
+ if Puppet.runtime[:facter].value('os.family') == 'Debian'
1714
1714
  test_cmd = '/usr/bin/test'
1715
1715
  end
1716
1716
 
1717
- if Puppet.runtime[:facter].value(:operatingsystem) == 'Darwin'
1717
+ if Puppet.runtime[:facter].value('os.name') == 'Darwin'
1718
1718
  stat_cmd = "stat -f '%Lp'"
1719
1719
  else
1720
1720
  stat_cmd = "stat --format=%a"
@@ -21,19 +21,19 @@ describe Puppet::Type.type(:package), "when choosing a default package provider"
21
21
  when 'Darwin'
22
22
  :pkgdmg
23
23
  when 'RedHat'
24
- if ['2.1', '3', '4'].include?(Puppet.runtime[:facter].value(:lsbdistrelease))
24
+ if ['2.1', '3', '4'].include?(Puppet.runtime[:facter].value('os.distro.release.full'))
25
25
  :up2date
26
26
  else
27
27
  :yum
28
28
  end
29
29
  when 'Fedora'
30
- if Puppet::Util::Package.versioncmp(Puppet.runtime[:facter].value(:operatingsystemmajrelease), '22') >= 0
30
+ if Puppet::Util::Package.versioncmp(Puppet.runtime[:facter].value('os.release.major'), '22') >= 0
31
31
  :dnf
32
32
  else
33
33
  :yum
34
34
  end
35
35
  when 'Suse'
36
- if Puppet::Util::Package.versioncmp(Puppet.runtime[:facter].value(:operatingsystemmajrelease), '10') >= 0
36
+ if Puppet::Util::Package.versioncmp(Puppet.runtime[:facter].value('os.release.major'), '10') >= 0
37
37
  :zypper
38
38
  else
39
39
  :rug
@@ -54,8 +54,8 @@ describe Puppet::Type.type(:package), "when choosing a default package provider"
54
54
  end
55
55
 
56
56
  it "should choose the correct provider each platform" do
57
- unless default_provider = provider_name(Puppet.runtime[:facter].value(:operatingsystem))
58
- pending("No default provider specified in this test for #{Puppet.runtime[:facter].value(:operatingsystem)}")
57
+ unless default_provider = provider_name(Puppet.runtime[:facter].value('os.name'))
58
+ pending("No default provider specified in this test for #{Puppet.runtime[:facter].value('os.name')}")
59
59
  end
60
60
  expect(Puppet::Type.type(:package).defaultprovider.name).to eq(default_provider)
61
61
  end
@@ -96,7 +96,7 @@ describe Puppet::Util do
96
96
  Puppet::FileSystem.touch(filepath)
97
97
 
98
98
  path = [utf8, "c:\\windows\\system32", "c:\\windows"].join(File::PATH_SEPARATOR)
99
- Puppet::Util.withenv( { "PATH" => path } , :windows) do
99
+ Puppet::Util.withenv("PATH" => path) do
100
100
  expect(Puppet::Util.which(filename)).to eq(filepath)
101
101
  end
102
102
  end
@@ -33,6 +33,24 @@ module PuppetSpec::Network
33
33
  { :environment => "production" }
34
34
  end
35
35
 
36
+ def acceptable_content_types
37
+ types = ['application/json']
38
+ types << 'application/x-msgpack' if Puppet.features.msgpack?
39
+ types << 'text/pson' if Puppet.features.pson?
40
+ types
41
+ end
42
+
43
+ def acceptable_content_types_string
44
+ acceptable_content_types.join(', ')
45
+ end
46
+
47
+ def acceptable_catalog_content_types
48
+ types = %w[application/vnd.puppet.rich+json application/json]
49
+ types.concat(%w[application/vnd.puppet.rich+msgpack application/x-msgpack]) if Puppet.features.msgpack?
50
+ types << 'text/pson' if Puppet.features.pson?
51
+ types
52
+ end
53
+
36
54
  def master_url_prefix
37
55
  "#{Puppet::Network::HTTP::MASTER_URL_PREFIX}/v3"
38
56
  end
@@ -19,7 +19,6 @@ class PuppetSpec::Puppetserver
19
19
  class CatalogServlet < WEBrick::HTTPServlet::AbstractServlet
20
20
  def do_POST request, response
21
21
  response['Content-Type'] = 'application/json'
22
- response['X-Puppet-Compiler-Name'] = 'test-compiler-hostname'
23
22
  catalog = Puppet::Resource::Catalog.new(Puppet[:certname], 'production')
24
23
  response.body = catalog.render(:json)
25
24
  end
@@ -69,7 +69,7 @@ shared_examples "RHEL package provider" do |provider_class, provider_name|
69
69
  allow(Puppet::Util).to receive(:which).with("rpm").and_return("/bin/rpm")
70
70
  allow(provider).to receive(:which).with("rpm").and_return("/bin/rpm")
71
71
  expect(Puppet::Util::Execution).to receive(:execute).with(["/bin/rpm", "--version"], {:combine => true, :custom_environment => {}, :failonfail => true}).and_return(Puppet::Util::Execution::ProcessOutput.new("4.10.1\n", 0)).at_most(:once)
72
- allow(Facter).to receive(:value).with(:operatingsystemmajrelease).and_return('6')
72
+ allow(Facter).to receive(:value).with('os.release.major').and_return('6')
73
73
  end
74
74
 
75
75
  it "should call #{provider_name} install for :installed" do
@@ -81,7 +81,7 @@ shared_examples "RHEL package provider" do |provider_class, provider_name|
81
81
  if provider_name == 'yum'
82
82
  context 'on el-5' do
83
83
  before(:each) do
84
- allow(Facter).to receive(:value).with(:operatingsystemmajrelease).and_return('5')
84
+ allow(Facter).to receive(:value).with('os.release.major').and_return('5')
85
85
  end
86
86
 
87
87
  it "should catch #{provider_name} install failures when status code is wrong" do
@@ -482,10 +482,10 @@ describe Puppet::Application::Device do
482
482
  end
483
483
 
484
484
  it "retrieves facts" do
485
- indirection_fact_values = {"operatingsystem"=>"cisco_ios","clientcert"=>"3750"}
485
+ indirection_fact_values = {"os"=> {"name" => "cisco_ios"},"clientcert"=>"3750"}
486
486
  indirection_facts = Puppet::Node::Facts.new("nil", indirection_fact_values)
487
487
  expect(Puppet::Node::Facts.indirection).to receive(:find).with(nil, anything()).and_return(indirection_facts)
488
- expect(device).to receive(:puts).with(/name.*3750.*\n.*values.*\n.*operatingsystem.*cisco_ios/)
488
+ expect(device).to receive(:puts).with(/name.*3750.*\n.*values.*\n.*os.*\n.*name.*cisco_ios/)
489
489
  expect { device.main }.to exit_with 0
490
490
  end
491
491
  end
@@ -503,6 +503,9 @@ Searching for "a"
503
503
  include PuppetSpec::Files
504
504
 
505
505
  it "is unaffected by global variables unless '--compile' is used" do
506
+ # strict mode is off so behavior this test is trying to check isn't stubbed out
507
+ Puppet[:strict_variables] = false
508
+ Puppet[:strict] = :warning
506
509
  lookup.options[:node] = node
507
510
  lookup.options[:render_as] = :s
508
511
  allow(lookup.command_line).to receive(:args).and_return(['c'])
@@ -673,6 +676,9 @@ Searching for "a"
673
676
  let(:node) { Puppet::Node.new("testnode", :facts => facts, :environment => 'puppet_func_provider') }
674
677
 
675
678
  it "works OK in the absense of '--compile'" do
679
+ # strict mode is off so behavior this test is trying to check isn't stubbed out
680
+ Puppet[:strict_variables] = false
681
+ Puppet[:strict] = :warning
676
682
  lookup.options[:node] = node
677
683
  allow(lookup.command_line).to receive(:args).and_return(['c'])
678
684
  lookup.options[:render_as] = :s
@@ -129,22 +129,24 @@ describe Puppet::Application::Resource do
129
129
  end
130
130
 
131
131
  describe "when printing output" do
132
- it "should not emit puppet class tags when printing yaml" do
133
- Puppet::Type.newtype(:stringify) do
134
- ensurable
135
- newparam(:name, isnamevar: true)
136
- newproperty(:string)
137
- end
132
+ Puppet::Type.newtype(:stringify) do
133
+ ensurable
134
+ newparam(:name, isnamevar: true)
135
+ newproperty(:string)
136
+ end
138
137
 
139
- Puppet::Type.type(:stringify).provide(:stringify) do
140
- def exists?
141
- true
142
- end
138
+ Puppet::Type.type(:stringify).provide(:stringify) do
139
+ def exists?
140
+ true
141
+ end
143
142
 
144
- def string
145
- Puppet::Util::Execution::ProcessOutput.new('test', 0)
146
- end
143
+ def string
144
+ Puppet::Util::Execution::ProcessOutput.new('test', 0)
147
145
  end
146
+ end
147
+
148
+ it "should not emit puppet class tags when printing yaml when strict mode is off" do
149
+ Puppet[:strict] = :warning
148
150
 
149
151
  @resource_app.options[:to_yaml] = true
150
152
  allow(@resource_app.command_line).to receive(:args).and_return(['stringify', 'hello', 'ensure=present', 'string=asd'])
@@ -158,6 +160,13 @@ describe Puppet::Application::Resource do
158
160
  expect { @resource_app.main }.not_to raise_error
159
161
  end
160
162
 
163
+ it "should raise an error when printing yaml by default" do
164
+ @resource_app.options[:to_yaml] = true
165
+ allow(@resource_app.command_line).to receive(:args).and_return(['stringify', 'hello', 'ensure=present', 'string=asd'])
166
+ expect { @resource_app.main }.to raise_error( Puppet::PreformattedError,
167
+ /Stringify\[hello\]\['string'\] contains a Puppet::Util::Execution::ProcessOutput value. It will be converted to the String 'test'/)
168
+ end
169
+
161
170
  it "should ensure all values to be printed are in the external encoding" do
162
171
  resources = [
163
172
  Puppet::Type.type(:user).new(:name => "\u2603".force_encoding(Encoding::UTF_8)).to_resource,
@@ -171,50 +171,6 @@ describe Puppet::Application::Ssl, unless: Puppet::Util::Platform.jruby? do
171
171
  end
172
172
  end
173
173
 
174
- context 'when generating a CSR' do
175
- let(:csr_path) { Puppet[:hostcsr] }
176
- let(:requestdir) { Puppet[:requestdir] }
177
-
178
- before do
179
- ssl.command_line.args << 'generate_request'
180
- end
181
-
182
- it 'generates an RSA private key' do
183
- File.unlink(Puppet[:hostprivkey])
184
-
185
- expects_command_to_pass(%r{Generated certificate request in '#{csr_path}'})
186
- end
187
-
188
- it 'generates an EC private key' do
189
- Puppet[:key_type] = 'ec'
190
- File.unlink(Puppet[:hostprivkey])
191
-
192
- expects_command_to_pass(%r{Generated certificate request in '#{csr_path}'})
193
- end
194
-
195
- it 'registers OIDs' do
196
- expect(Puppet::SSL::Oids).to receive(:register_puppet_oids)
197
-
198
- expects_command_to_pass(%r{Generated certificate request in '#{csr_path}'})
199
- end
200
-
201
- it 'saves the CSR locally' do
202
- expects_command_to_pass(%r{Generated certificate request in '#{csr_path}'})
203
-
204
- expect(Puppet::FileSystem).to be_exist(csr_path)
205
- end
206
-
207
- it 'accepts dns alt names' do
208
- Puppet[:dns_alt_names] = 'majortom'
209
-
210
- expects_command_to_pass
211
-
212
- csr = Puppet::SSL::CertificateRequest.new(name)
213
- csr.read(csr_path)
214
- expect(csr.subject_alt_names).to include('DNS:majortom')
215
- end
216
- end
217
-
218
174
  context 'when downloading a certificate' do
219
175
  before do
220
176
  ssl.command_line.args << 'download_cert'
@@ -391,11 +347,6 @@ describe Puppet::Application::Ssl, unless: Puppet::Util::Platform.jruby? do
391
347
  expects_command_to_fail(%r{Failed to connect to the CA to determine if certificate #{name} has been cleaned})
392
348
  end
393
349
 
394
- it 'raises if we have extra args' do
395
- ssl.command_line.args << 'hostname.example.biz'
396
- expects_command_to_fail(/Extra arguments detected: hostname.example.biz/)
397
- end
398
-
399
350
  context 'when deleting local CA' do
400
351
  before do
401
352
  ssl.command_line.args << '--localca'
@@ -79,7 +79,7 @@ describe Puppet::Configurer::FactHandler do
79
79
  { :hash => { 'afact' => "A\u06FF\u16A0\u{2070E}" }, :encoded => '%22values%22%3A%7B%22afact%22%3A%22' + 'A%DB%BF%E1%9A%A0%F0%A0%9C%8E' + '%22%7D' },
80
80
  ]
81
81
 
82
- context "as pson" do
82
+ context "as pson", if: Puppet.features.pson? do
83
83
  before :each do
84
84
  Puppet[:preferred_serialization_format] = 'pson'
85
85
  end
@@ -84,16 +84,16 @@ describe Puppet::Confine do
84
84
  describe "when requiring" do
85
85
  it "does not cache failed requires when always_retry_plugins is true" do
86
86
  Puppet[:always_retry_plugins] = true
87
- expect(Puppet::Confine).to receive(:require).with('puppet/confine/osfamily').twice.and_raise(LoadError)
88
- Puppet::Confine.test(:osfamily)
89
- Puppet::Confine.test(:osfamily)
87
+ expect(Puppet::Confine).to receive(:require).with('puppet/confine/os.family').twice.and_raise(LoadError)
88
+ Puppet::Confine.test('os.family')
89
+ Puppet::Confine.test('os.family')
90
90
  end
91
91
 
92
92
  it "caches failed requires when always_retry_plugins is false" do
93
93
  Puppet[:always_retry_plugins] = false
94
- expect(Puppet::Confine).to receive(:require).with('puppet/confine/osfamily').once.and_raise(LoadError)
95
- Puppet::Confine.test(:osfamily)
96
- Puppet::Confine.test(:osfamily)
94
+ expect(Puppet::Confine).to receive(:require).with('puppet/confine/os.family').once.and_raise(LoadError)
95
+ Puppet::Confine.test('os.family')
96
+ Puppet::Confine.test('os.family')
97
97
  end
98
98
  end
99
99
  end
@@ -35,6 +35,7 @@ describe "when using a hiera data provider" do
35
35
  node = Puppet::Node.new("testnode", :facts => facts, :environment => environment)
36
36
  compiler = Puppet::Parser::Compiler.new(node)
37
37
  compiler.topscope['domain'] = 'example.com'
38
+ compiler.topscope['my_fact'] = 'server3'
38
39
  block_given? ? compiler.compile { |catalog| yield(compiler); catalog } : compiler.compile
39
40
  end
40
41
 
@@ -164,6 +165,7 @@ describe "when using a hiera data provider" do
164
165
  expect(extract_notifications(compiler.compile)).to include('server2')
165
166
 
166
167
  compiler = Puppet::Parser::Compiler.new(node)
168
+ compiler.topscope['my_fact'] = 'server3'
167
169
  expect(extract_notifications(compiler.compile)).to include('In name.yaml')
168
170
  end
169
171
 
@@ -3,8 +3,46 @@ require 'puppet/settings'
3
3
 
4
4
  describe "Defaults" do
5
5
  describe ".default_diffargs" do
6
- it "should be '-u'" do
7
- expect(Puppet.default_diffargs).to eq("-u")
6
+ describe "on AIX" do
7
+ before(:each) do
8
+ allow(Facter).to receive(:value).with(:kernel).and_return("AIX")
9
+ end
10
+
11
+ describe "on 5.3" do
12
+ before(:each) do
13
+ allow(Facter).to receive(:value).with(:kernelmajversion).and_return("5300")
14
+ end
15
+
16
+ it "should be empty" do
17
+ expect(Puppet.default_diffargs).to eq("")
18
+ end
19
+ end
20
+
21
+ [ "",
22
+ nil,
23
+ "6300",
24
+ "7300",
25
+ ].each do |kernel_version|
26
+ describe "on kernel version #{kernel_version.inspect}" do
27
+ before(:each) do
28
+ allow(Facter).to receive(:value).with(:kernelmajversion).and_return(kernel_version)
29
+ end
30
+
31
+ it "should be '-u'" do
32
+ expect(Puppet.default_diffargs).to eq("-u")
33
+ end
34
+ end
35
+ end
36
+ end
37
+
38
+ describe "on everything else" do
39
+ before(:each) do
40
+ allow(Facter).to receive(:value).with(:kernel).and_return("NOT_AIX")
41
+ end
42
+
43
+ it "should be '-u'" do
44
+ expect(Puppet.default_diffargs).to eq("-u")
45
+ end
8
46
  end
9
47
  end
10
48
 
@@ -171,4 +209,12 @@ describe "Defaults" do
171
209
  expect(Puppet.default_cadir).to eq(cadir)
172
210
  end
173
211
  end
212
+
213
+ describe "#preferred_serialization_format" do
214
+ it 'raises if PSON is not available', unless: Puppet.features.pson? do
215
+ expect {
216
+ Puppet.settings[:preferred_serialization_format] = "pson"
217
+ }.to raise_error(Puppet::Settings::ValidationError, "The 'puppet-pson' gem must be installed to use the PSON serialization format.")
218
+ end
219
+ end
174
220
  end
@@ -1,9 +1,7 @@
1
1
  # Encoding: UTF-8
2
2
  require 'spec_helper'
3
3
 
4
- require 'puppet/external/pson/common'
5
-
6
- describe PSON do
4
+ describe 'PSON', if: Puppet.features.pson? do
7
5
  {
8
6
  'foo' => '"foo"',
9
7
  1 => '1',