puppet 6.0.5-x64-mingw32 → 8.8.1-x64-mingw32

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 (2449) hide show
  1. checksums.yaml +4 -4
  2. data/CODEOWNERS +11 -0
  3. data/CODE_OF_CONDUCT.md +70 -0
  4. data/Gemfile +31 -21
  5. data/Gemfile.lock +232 -105
  6. data/Guardfile.example +76 -0
  7. data/LICENSE +189 -4
  8. data/README.md +24 -32
  9. data/Rakefile +47 -59
  10. data/bin/puppet +1 -0
  11. data/conf/fileserver.conf +5 -10
  12. data/examples/enc/regexp_nodes/regexp_nodes.rb +270 -0
  13. data/examples/hiera/README.md +68 -57
  14. data/examples/hiera/data/common.yaml +12 -0
  15. data/examples/hiera/data/dc1.yaml +6 -0
  16. data/examples/hiera/hiera.yaml +15 -0
  17. data/examples/hiera/modules/ntp/data/common.yaml +4 -0
  18. data/examples/hiera/modules/ntp/hiera.yaml +9 -0
  19. data/examples/hiera/modules/ntp/manifests/config.pp +16 -4
  20. data/examples/hiera/modules/ntp/templates/ntp.conf.epp +3 -0
  21. data/examples/hiera/modules/users/manifests/common.pp +7 -2
  22. data/examples/hiera/modules/users/manifests/dc1.pp +7 -2
  23. data/examples/hiera/site.pp +1 -1
  24. data/examples/nagios/check_puppet.rb +123 -0
  25. data/ext/README.md +13 -0
  26. data/ext/build_defaults.yaml +1 -1
  27. data/ext/osx/puppet.plist +2 -0
  28. data/ext/project_data.yaml +0 -55
  29. data/ext/solaris/smf/puppet.xml +2 -0
  30. data/ext/systemd/puppet.service +2 -1
  31. data/ext/windows/service/daemon.rb +85 -53
  32. data/install.rb +54 -72
  33. data/lib/hiera/puppet_function.rb +8 -6
  34. data/lib/hiera/scope.rb +21 -12
  35. data/lib/hiera_puppet.rb +7 -8
  36. data/lib/puppet/agent/disabler.rb +6 -4
  37. data/lib/puppet/agent/locker.rb +4 -11
  38. data/lib/puppet/agent.rb +77 -33
  39. data/lib/puppet/application/agent.rb +348 -290
  40. data/lib/puppet/application/apply.rb +164 -139
  41. data/lib/puppet/application/catalog.rb +3 -1
  42. data/lib/puppet/application/config.rb +3 -1
  43. data/lib/puppet/application/describe.rb +57 -62
  44. data/lib/puppet/application/device.rb +242 -205
  45. data/lib/puppet/application/doc.rb +66 -67
  46. data/lib/puppet/application/epp.rb +4 -2
  47. data/lib/puppet/application/face_base.rb +41 -32
  48. data/lib/puppet/application/facts.rb +3 -1
  49. data/lib/puppet/application/filebucket.rb +188 -167
  50. data/lib/puppet/application/generate.rb +4 -2
  51. data/lib/puppet/application/help.rb +3 -1
  52. data/lib/puppet/application/indirection_base.rb +3 -1
  53. data/lib/puppet/application/lookup.rb +258 -196
  54. data/lib/puppet/application/module.rb +3 -1
  55. data/lib/puppet/application/node.rb +3 -1
  56. data/lib/puppet/application/parser.rb +4 -2
  57. data/lib/puppet/application/plugin.rb +4 -1
  58. data/lib/puppet/application/report.rb +3 -1
  59. data/lib/puppet/application/resource.rb +131 -104
  60. data/lib/puppet/application/script.rb +85 -82
  61. data/lib/puppet/application/ssl.rb +236 -128
  62. data/lib/puppet/application.rb +217 -135
  63. data/lib/puppet/application_support.rb +15 -7
  64. data/lib/puppet/coercion.rb +5 -3
  65. data/lib/puppet/compilable_resource_type.rb +5 -3
  66. data/lib/puppet/concurrent/lock.rb +15 -0
  67. data/lib/puppet/concurrent/synchronized.rb +15 -0
  68. data/lib/puppet/concurrent/thread_local_singleton.rb +18 -0
  69. data/lib/puppet/concurrent.rb +4 -0
  70. data/lib/puppet/configurer/downloader.rb +46 -22
  71. data/lib/puppet/configurer/fact_handler.rb +20 -19
  72. data/lib/puppet/configurer/plugin_handler.rb +24 -11
  73. data/lib/puppet/configurer.rb +427 -152
  74. data/lib/puppet/confine/any.rb +4 -2
  75. data/lib/puppet/confine/boolean.rb +47 -0
  76. data/lib/puppet/confine/exists.rb +4 -2
  77. data/lib/puppet/confine/false.rb +10 -2
  78. data/lib/puppet/confine/feature.rb +4 -3
  79. data/lib/puppet/confine/true.rb +10 -2
  80. data/lib/puppet/confine/variable.rb +6 -4
  81. data/lib/puppet/confine.rb +8 -5
  82. data/lib/puppet/confine_collection.rb +9 -5
  83. data/lib/puppet/confiner.rb +6 -4
  84. data/lib/puppet/context/trusted_information.rb +57 -11
  85. data/lib/puppet/context.rb +123 -49
  86. data/lib/puppet/daemon.rb +30 -39
  87. data/lib/puppet/data_binding.rb +4 -2
  88. data/lib/puppet/datatypes/error.rb +4 -2
  89. data/lib/puppet/datatypes/impl/error.rb +2 -0
  90. data/lib/puppet/datatypes.rb +12 -7
  91. data/lib/puppet/defaults.rb +584 -267
  92. data/lib/puppet/environments.rb +206 -112
  93. data/lib/puppet/error.rb +41 -16
  94. data/lib/puppet/etc.rb +11 -6
  95. data/lib/puppet/external/dot.rb +65 -75
  96. data/lib/puppet/face/catalog/select.rb +4 -2
  97. data/lib/puppet/face/catalog.rb +25 -4
  98. data/lib/puppet/face/config.rb +88 -87
  99. data/lib/puppet/face/epp.rb +46 -35
  100. data/lib/puppet/face/facts.rb +104 -15
  101. data/lib/puppet/face/generate.rb +8 -3
  102. data/lib/puppet/face/help.rb +61 -36
  103. data/lib/puppet/face/module/changes.rb +6 -4
  104. data/lib/puppet/face/module/install.rb +9 -6
  105. data/lib/puppet/face/module/list.rb +65 -57
  106. data/lib/puppet/face/module/uninstall.rb +3 -1
  107. data/lib/puppet/face/module/upgrade.rb +6 -4
  108. data/lib/puppet/face/module.rb +5 -3
  109. data/lib/puppet/face/node/clean.rb +14 -4
  110. data/lib/puppet/face/node.rb +7 -5
  111. data/lib/puppet/face/parser.rb +64 -25
  112. data/lib/puppet/face/plugin.rb +11 -5
  113. data/lib/puppet/face/report.rb +9 -9
  114. data/lib/puppet/face/resource.rb +3 -1
  115. data/lib/puppet/face.rb +3 -1
  116. data/lib/puppet/facter_impl.rb +96 -0
  117. data/lib/puppet/feature/base.rb +15 -15
  118. data/lib/puppet/feature/bolt.rb +3 -1
  119. data/lib/puppet/feature/cfpropertylist.rb +3 -1
  120. data/lib/puppet/feature/eventlog.rb +3 -1
  121. data/lib/puppet/feature/hiera_eyaml.rb +3 -1
  122. data/lib/puppet/feature/hocon.rb +3 -1
  123. data/lib/puppet/feature/libuser.rb +7 -5
  124. data/lib/puppet/feature/msgpack.rb +3 -1
  125. data/lib/puppet/feature/pe_license.rb +5 -3
  126. data/lib/puppet/feature/pson.rb +6 -0
  127. data/lib/puppet/feature/selinux.rb +3 -1
  128. data/lib/puppet/feature/ssh.rb +4 -2
  129. data/lib/puppet/feature/telnet.rb +6 -6
  130. data/lib/puppet/feature/zlib.rb +4 -2
  131. data/lib/puppet/ffi/posix/constants.rb +16 -0
  132. data/lib/puppet/ffi/posix/functions.rb +25 -0
  133. data/lib/puppet/ffi/posix.rb +12 -0
  134. data/lib/puppet/ffi/windows/api_types.rb +313 -0
  135. data/lib/puppet/ffi/windows/constants.rb +406 -0
  136. data/lib/puppet/ffi/windows/functions.rb +629 -0
  137. data/lib/puppet/ffi/windows/structs.rb +339 -0
  138. data/lib/puppet/ffi/windows.rb +14 -0
  139. data/lib/puppet/file_bucket/dipper.rb +27 -17
  140. data/lib/puppet/file_bucket/file.rb +11 -9
  141. data/lib/puppet/file_bucket.rb +2 -0
  142. data/lib/puppet/file_serving/base.rb +19 -11
  143. data/lib/puppet/file_serving/configuration/parser.rb +23 -44
  144. data/lib/puppet/file_serving/configuration.rb +24 -23
  145. data/lib/puppet/file_serving/content.rb +5 -3
  146. data/lib/puppet/file_serving/fileset.rb +38 -22
  147. data/lib/puppet/file_serving/http_metadata.rb +24 -9
  148. data/lib/puppet/file_serving/metadata.rb +40 -30
  149. data/lib/puppet/file_serving/mount/file.rb +18 -13
  150. data/lib/puppet/file_serving/mount/locales.rb +8 -8
  151. data/lib/puppet/file_serving/mount/modules.rb +8 -3
  152. data/lib/puppet/file_serving/mount/pluginfacts.rb +8 -8
  153. data/lib/puppet/file_serving/mount/plugins.rb +8 -8
  154. data/lib/puppet/file_serving/mount/scripts.rb +27 -0
  155. data/lib/puppet/file_serving/mount/tasks.rb +8 -3
  156. data/lib/puppet/file_serving/mount.rb +9 -7
  157. data/lib/puppet/file_serving/terminus_helper.rb +4 -2
  158. data/lib/puppet/file_serving/terminus_selector.rb +10 -9
  159. data/lib/puppet/file_serving.rb +2 -0
  160. data/lib/puppet/file_system/file_impl.rb +50 -15
  161. data/lib/puppet/file_system/jruby.rb +25 -0
  162. data/lib/puppet/file_system/memory_file.rb +18 -2
  163. data/lib/puppet/file_system/memory_impl.rb +18 -1
  164. data/lib/puppet/file_system/path_pattern.rb +14 -17
  165. data/lib/puppet/file_system/posix.rb +11 -5
  166. data/lib/puppet/file_system/uniquefile.rb +41 -41
  167. data/lib/puppet/file_system/windows.rb +113 -19
  168. data/lib/puppet/file_system.rb +42 -25
  169. data/lib/puppet/forge/cache.rb +7 -6
  170. data/lib/puppet/forge/errors.rb +8 -9
  171. data/lib/puppet/forge/repository.rb +36 -93
  172. data/lib/puppet/forge.rb +53 -40
  173. data/lib/puppet/functions/abs.rb +8 -5
  174. data/lib/puppet/functions/alert.rb +2 -0
  175. data/lib/puppet/functions/all.rb +4 -2
  176. data/lib/puppet/functions/annotate.rb +2 -0
  177. data/lib/puppet/functions/any.rb +3 -1
  178. data/lib/puppet/functions/assert_type.rb +5 -2
  179. data/lib/puppet/functions/binary_file.rb +4 -1
  180. data/lib/puppet/functions/break.rb +4 -2
  181. data/lib/puppet/functions/call.rb +5 -3
  182. data/lib/puppet/functions/camelcase.rb +7 -6
  183. data/lib/puppet/functions/capitalize.rb +7 -6
  184. data/lib/puppet/functions/ceiling.rb +3 -2
  185. data/lib/puppet/functions/chomp.rb +3 -2
  186. data/lib/puppet/functions/chop.rb +3 -2
  187. data/lib/puppet/functions/compare.rb +5 -3
  188. data/lib/puppet/functions/contain.rb +7 -4
  189. data/lib/puppet/functions/convert_to.rb +2 -0
  190. data/lib/puppet/functions/crit.rb +2 -0
  191. data/lib/puppet/functions/debug.rb +2 -0
  192. data/lib/puppet/functions/defined.rb +10 -6
  193. data/lib/puppet/functions/dig.rb +13 -10
  194. data/lib/puppet/functions/downcase.rb +6 -4
  195. data/lib/puppet/functions/each.rb +13 -13
  196. data/lib/puppet/functions/emerg.rb +2 -0
  197. data/lib/puppet/functions/empty.rb +10 -0
  198. data/lib/puppet/functions/epp.rb +7 -5
  199. data/lib/puppet/functions/err.rb +2 -0
  200. data/lib/puppet/functions/eyaml_lookup_key.rb +29 -23
  201. data/lib/puppet/functions/filter.rb +12 -18
  202. data/lib/puppet/functions/find_file.rb +11 -9
  203. data/lib/puppet/functions/find_template.rb +65 -0
  204. data/lib/puppet/functions/flatten.rb +2 -0
  205. data/lib/puppet/functions/floor.rb +3 -2
  206. data/lib/puppet/functions/get.rb +9 -7
  207. data/lib/puppet/functions/getvar.rb +7 -5
  208. data/lib/puppet/functions/group_by.rb +62 -0
  209. data/lib/puppet/functions/hiera.rb +2 -0
  210. data/lib/puppet/functions/hiera_array.rb +2 -0
  211. data/lib/puppet/functions/hiera_hash.rb +2 -0
  212. data/lib/puppet/functions/hiera_include.rb +3 -0
  213. data/lib/puppet/functions/hocon_data.rb +5 -5
  214. data/lib/puppet/functions/import.rb +3 -1
  215. data/lib/puppet/functions/include.rb +5 -2
  216. data/lib/puppet/functions/index.rb +168 -0
  217. data/lib/puppet/functions/info.rb +2 -0
  218. data/lib/puppet/functions/inline_epp.rb +8 -6
  219. data/lib/puppet/functions/join.rb +4 -2
  220. data/lib/puppet/functions/json_data.rb +6 -6
  221. data/lib/puppet/functions/keys.rb +2 -0
  222. data/lib/puppet/functions/length.rb +2 -1
  223. data/lib/puppet/functions/lest.rb +3 -1
  224. data/lib/puppet/functions/lookup.rb +11 -11
  225. data/lib/puppet/functions/lstrip.rb +7 -6
  226. data/lib/puppet/functions/map.rb +9 -8
  227. data/lib/puppet/functions/match.rb +10 -8
  228. data/lib/puppet/functions/max.rb +75 -8
  229. data/lib/puppet/functions/min.rb +75 -8
  230. data/lib/puppet/functions/module_directory.rb +2 -0
  231. data/lib/puppet/functions/new.rb +113 -106
  232. data/lib/puppet/functions/next.rb +20 -1
  233. data/lib/puppet/functions/notice.rb +2 -0
  234. data/lib/puppet/functions/partition.rb +62 -0
  235. data/lib/puppet/functions/reduce.rb +10 -15
  236. data/lib/puppet/functions/regsubst.rb +60 -42
  237. data/lib/puppet/functions/require.rb +12 -8
  238. data/lib/puppet/functions/return.rb +2 -0
  239. data/lib/puppet/functions/reverse_each.rb +3 -1
  240. data/lib/puppet/functions/round.rb +2 -0
  241. data/lib/puppet/functions/rstrip.rb +7 -6
  242. data/lib/puppet/functions/scanf.rb +2 -0
  243. data/lib/puppet/functions/size.rb +2 -2
  244. data/lib/puppet/functions/slice.rb +4 -1
  245. data/lib/puppet/functions/sort.rb +5 -3
  246. data/lib/puppet/functions/split.rb +30 -1
  247. data/lib/puppet/functions/step.rb +3 -1
  248. data/lib/puppet/functions/strftime.rb +6 -3
  249. data/lib/puppet/functions/strip.rb +7 -6
  250. data/lib/puppet/functions/then.rb +3 -0
  251. data/lib/puppet/functions/tree_each.rb +11 -13
  252. data/lib/puppet/functions/type.rb +6 -4
  253. data/lib/puppet/functions/unique.rb +10 -8
  254. data/lib/puppet/functions/unwrap.rb +19 -2
  255. data/lib/puppet/functions/upcase.rb +6 -4
  256. data/lib/puppet/functions/values.rb +2 -0
  257. data/lib/puppet/functions/versioncmp.rb +10 -5
  258. data/lib/puppet/functions/warning.rb +2 -0
  259. data/lib/puppet/functions/with.rb +2 -0
  260. data/lib/puppet/functions/yaml_data.rb +16 -15
  261. data/lib/puppet/functions.rb +59 -64
  262. data/lib/puppet/generate/models/type/property.rb +4 -1
  263. data/lib/puppet/generate/models/type/type.rb +10 -4
  264. data/lib/puppet/generate/type.rb +25 -9
  265. data/lib/puppet/gettext/config.rb +24 -17
  266. data/lib/puppet/gettext/module_translations.rb +8 -7
  267. data/lib/puppet/gettext/stubs.rb +2 -0
  268. data/lib/puppet/graph/key.rb +2 -0
  269. data/lib/puppet/graph/prioritizer.rb +2 -0
  270. data/lib/puppet/graph/rb_tree_map.rb +45 -26
  271. data/lib/puppet/graph/relationship_graph.rb +34 -31
  272. data/lib/puppet/graph/sequential_prioritizer.rb +2 -0
  273. data/lib/puppet/graph/simple_graph.rb +72 -63
  274. data/lib/puppet/graph.rb +8 -6
  275. data/lib/puppet/http/client.rb +529 -0
  276. data/lib/puppet/http/dns.rb +159 -0
  277. data/lib/puppet/http/errors.rb +50 -0
  278. data/lib/puppet/http/external_client.rb +89 -0
  279. data/lib/puppet/http/factory.rb +53 -0
  280. data/lib/puppet/http/pool.rb +174 -0
  281. data/lib/puppet/http/pool_entry.rb +19 -0
  282. data/lib/puppet/http/proxy.rb +139 -0
  283. data/lib/puppet/http/redirector.rb +87 -0
  284. data/lib/puppet/http/resolver/server_list.rb +88 -0
  285. data/lib/puppet/http/resolver/settings.rb +24 -0
  286. data/lib/puppet/http/resolver/srv.rb +42 -0
  287. data/lib/puppet/http/resolver.rb +50 -0
  288. data/lib/puppet/http/response.rb +104 -0
  289. data/lib/puppet/http/response_converter.rb +25 -0
  290. data/lib/puppet/http/response_net_http.rb +43 -0
  291. data/lib/puppet/http/retry_after_handler.rb +78 -0
  292. data/lib/puppet/http/service/ca.rb +133 -0
  293. data/lib/puppet/http/service/compiler.rb +356 -0
  294. data/lib/puppet/http/service/file_server.rb +200 -0
  295. data/lib/puppet/http/service/puppetserver.rb +54 -0
  296. data/lib/puppet/http/service/report.rb +62 -0
  297. data/lib/puppet/http/service.rb +177 -0
  298. data/lib/puppet/http/session.rb +124 -0
  299. data/lib/puppet/http/site.rb +44 -0
  300. data/lib/puppet/http.rb +48 -0
  301. data/lib/puppet/indirector/catalog/compiler.rb +129 -113
  302. data/lib/puppet/indirector/catalog/json.rb +12 -5
  303. data/lib/puppet/indirector/catalog/msgpack.rb +4 -2
  304. data/lib/puppet/indirector/catalog/rest.rb +47 -2
  305. data/lib/puppet/indirector/catalog/store_configs.rb +5 -5
  306. data/lib/puppet/indirector/catalog/yaml.rb +4 -2
  307. data/lib/puppet/indirector/code.rb +3 -1
  308. data/lib/puppet/indirector/data_binding/hiera.rb +3 -2
  309. data/lib/puppet/indirector/data_binding/none.rb +3 -1
  310. data/lib/puppet/indirector/direct_file_server.rb +6 -3
  311. data/lib/puppet/indirector/envelope.rb +3 -1
  312. data/lib/puppet/indirector/errors.rb +3 -1
  313. data/lib/puppet/indirector/exec.rb +8 -6
  314. data/lib/puppet/indirector/face.rb +20 -31
  315. data/lib/puppet/indirector/fact_search.rb +62 -0
  316. data/lib/puppet/indirector/facts/facter.rb +49 -17
  317. data/lib/puppet/indirector/facts/json.rb +29 -0
  318. data/lib/puppet/indirector/facts/memory.rb +4 -2
  319. data/lib/puppet/indirector/facts/network_device.rb +4 -2
  320. data/lib/puppet/indirector/facts/rest.rb +36 -11
  321. data/lib/puppet/indirector/facts/store_configs.rb +5 -4
  322. data/lib/puppet/indirector/facts/yaml.rb +8 -61
  323. data/lib/puppet/indirector/file_bucket_file/file.rb +38 -32
  324. data/lib/puppet/indirector/file_bucket_file/rest.rb +47 -2
  325. data/lib/puppet/indirector/file_bucket_file/selector.rb +3 -2
  326. data/lib/puppet/indirector/file_content/file.rb +5 -3
  327. data/lib/puppet/indirector/file_content/file_server.rb +5 -3
  328. data/lib/puppet/indirector/file_content/rest.rb +32 -4
  329. data/lib/puppet/indirector/file_content/selector.rb +6 -4
  330. data/lib/puppet/indirector/file_content.rb +3 -1
  331. data/lib/puppet/indirector/file_metadata/file.rb +5 -3
  332. data/lib/puppet/indirector/file_metadata/file_server.rb +5 -3
  333. data/lib/puppet/indirector/file_metadata/http.rb +33 -11
  334. data/lib/puppet/indirector/file_metadata/rest.rb +53 -4
  335. data/lib/puppet/indirector/file_metadata/selector.rb +6 -4
  336. data/lib/puppet/indirector/file_metadata.rb +3 -1
  337. data/lib/puppet/indirector/file_server.rb +12 -14
  338. data/lib/puppet/indirector/generic_http.rb +3 -12
  339. data/lib/puppet/indirector/hiera.rb +15 -8
  340. data/lib/puppet/indirector/indirection.rb +98 -57
  341. data/lib/puppet/indirector/json.rb +15 -8
  342. data/lib/puppet/indirector/memory.rb +6 -3
  343. data/lib/puppet/indirector/msgpack.rb +14 -10
  344. data/lib/puppet/indirector/node/exec.rb +10 -9
  345. data/lib/puppet/indirector/node/json.rb +9 -0
  346. data/lib/puppet/indirector/node/memory.rb +4 -2
  347. data/lib/puppet/indirector/node/msgpack.rb +4 -2
  348. data/lib/puppet/indirector/node/plain.rb +4 -2
  349. data/lib/puppet/indirector/node/rest.rb +26 -2
  350. data/lib/puppet/indirector/node/store_configs.rb +5 -5
  351. data/lib/puppet/indirector/node/yaml.rb +4 -2
  352. data/lib/puppet/indirector/none.rb +4 -3
  353. data/lib/puppet/indirector/plain.rb +3 -1
  354. data/lib/puppet/indirector/report/json.rb +36 -0
  355. data/lib/puppet/indirector/report/msgpack.rb +5 -3
  356. data/lib/puppet/indirector/report/processor.rb +10 -6
  357. data/lib/puppet/indirector/report/rest.rb +17 -14
  358. data/lib/puppet/indirector/report/yaml.rb +28 -3
  359. data/lib/puppet/indirector/request.rb +26 -107
  360. data/lib/puppet/indirector/resource/ral.rb +18 -15
  361. data/lib/puppet/indirector/resource/store_configs.rb +5 -3
  362. data/lib/puppet/indirector/resource/validator.rb +3 -1
  363. data/lib/puppet/indirector/rest.rb +13 -248
  364. data/lib/puppet/indirector/store_configs.rb +2 -0
  365. data/lib/puppet/indirector/terminus.rb +23 -12
  366. data/lib/puppet/indirector/yaml.rb +10 -8
  367. data/lib/puppet/indirector.rb +11 -8
  368. data/lib/puppet/info_service/class_information_service.rb +21 -23
  369. data/lib/puppet/info_service/plan_information_service.rb +38 -0
  370. data/lib/puppet/info_service/task_information_service.rb +14 -5
  371. data/lib/puppet/info_service.rb +12 -2
  372. data/lib/puppet/interface/action.rb +62 -51
  373. data/lib/puppet/interface/action_builder.rb +16 -15
  374. data/lib/puppet/interface/action_manager.rb +11 -7
  375. data/lib/puppet/interface/documentation.rb +51 -41
  376. data/lib/puppet/interface/face_collection.rb +24 -17
  377. data/lib/puppet/interface/option.rb +30 -17
  378. data/lib/puppet/interface/option_builder.rb +14 -9
  379. data/lib/puppet/interface/option_manager.rb +16 -12
  380. data/lib/puppet/interface.rb +23 -20
  381. data/lib/puppet/loaders.rb +24 -21
  382. data/lib/puppet/metatype/manager.rb +91 -90
  383. data/lib/puppet/module/plan.rb +166 -0
  384. data/lib/puppet/module/task.rb +59 -29
  385. data/lib/puppet/module.rb +98 -52
  386. data/lib/puppet/module_tool/applications/application.rb +21 -15
  387. data/lib/puppet/module_tool/applications/checksummer.rb +5 -5
  388. data/lib/puppet/module_tool/applications/installer.rb +146 -98
  389. data/lib/puppet/module_tool/applications/uninstaller.rb +27 -26
  390. data/lib/puppet/module_tool/applications/unpacker.rb +13 -11
  391. data/lib/puppet/module_tool/applications/upgrader.rb +75 -67
  392. data/lib/puppet/module_tool/applications.rb +9 -8
  393. data/lib/puppet/module_tool/checksums.rb +5 -4
  394. data/lib/puppet/module_tool/contents_description.rb +8 -7
  395. data/lib/puppet/module_tool/dependency.rb +7 -6
  396. data/lib/puppet/module_tool/errors/base.rb +3 -1
  397. data/lib/puppet/module_tool/errors/installer.rb +6 -5
  398. data/lib/puppet/module_tool/errors/shared.rb +50 -17
  399. data/lib/puppet/module_tool/errors/uninstaller.rb +3 -2
  400. data/lib/puppet/module_tool/errors/upgrader.rb +4 -3
  401. data/lib/puppet/module_tool/errors.rb +8 -6
  402. data/lib/puppet/module_tool/install_directory.rb +10 -7
  403. data/lib/puppet/module_tool/installed_modules.rb +7 -4
  404. data/lib/puppet/module_tool/local_tarball.rb +12 -10
  405. data/lib/puppet/module_tool/metadata.rb +42 -37
  406. data/lib/puppet/module_tool/shared_behaviors.rb +67 -48
  407. data/lib/puppet/module_tool/tar/gnu.rb +12 -8
  408. data/lib/puppet/module_tool/tar/mini.rb +18 -6
  409. data/lib/puppet/module_tool/tar.rb +8 -6
  410. data/lib/puppet/module_tool.rb +23 -21
  411. data/lib/puppet/network/authconfig.rb +3 -93
  412. data/lib/puppet/network/authorization.rb +14 -34
  413. data/lib/puppet/network/client_request.rb +7 -4
  414. data/lib/puppet/network/format.rb +10 -4
  415. data/lib/puppet/network/format_handler.rb +12 -10
  416. data/lib/puppet/network/format_support.rb +11 -10
  417. data/lib/puppet/network/formats.rb +97 -19
  418. data/lib/puppet/network/http/api/indirected_routes.rb +47 -63
  419. data/lib/puppet/network/http/api/indirection_type.rb +2 -1
  420. data/lib/puppet/network/http/api/master/v3/environments.rb +3 -34
  421. data/lib/puppet/network/http/api/master/v3.rb +3 -27
  422. data/lib/puppet/network/http/api/master.rb +5 -2
  423. data/lib/puppet/network/http/api/server/v3/environments.rb +54 -0
  424. data/lib/puppet/network/http/api/server/v3.rb +40 -0
  425. data/lib/puppet/network/http/api/server.rb +12 -0
  426. data/lib/puppet/network/http/api.rb +26 -20
  427. data/lib/puppet/network/http/connection.rb +250 -281
  428. data/lib/puppet/network/http/error.rb +6 -4
  429. data/lib/puppet/network/http/handler.rb +16 -18
  430. data/lib/puppet/network/http/issues.rb +2 -0
  431. data/lib/puppet/network/http/memory_response.rb +3 -1
  432. data/lib/puppet/network/http/request.rb +24 -11
  433. data/lib/puppet/network/http/response.rb +2 -0
  434. data/lib/puppet/network/http/route.rb +17 -13
  435. data/lib/puppet/network/http.rb +21 -19
  436. data/lib/puppet/network/http_pool.rb +42 -25
  437. data/lib/puppet/network/uri.rb +20 -0
  438. data/lib/puppet/network.rb +2 -0
  439. data/lib/puppet/node/environment.rb +140 -77
  440. data/lib/puppet/node/facts.rb +30 -13
  441. data/lib/puppet/node/server_facts.rb +43 -0
  442. data/lib/puppet/node.rb +25 -50
  443. data/lib/puppet/pal/catalog_compiler.rb +107 -0
  444. data/lib/puppet/pal/compiler.rb +227 -0
  445. data/lib/puppet/pal/function_signature.rb +54 -0
  446. data/lib/puppet/pal/json_catalog_encoder.rb +76 -0
  447. data/lib/puppet/pal/pal_api.rb +17 -0
  448. data/lib/puppet/pal/pal_impl.rb +585 -0
  449. data/lib/puppet/pal/plan_signature.rb +73 -0
  450. data/lib/puppet/pal/script_compiler.rb +75 -0
  451. data/lib/puppet/pal/task_signature.rb +64 -0
  452. data/lib/puppet/parameter/boolean.rb +3 -1
  453. data/lib/puppet/parameter/package_options.rb +4 -2
  454. data/lib/puppet/parameter/path.rb +8 -4
  455. data/lib/puppet/parameter/value.rb +6 -4
  456. data/lib/puppet/parameter/value_collection.rb +25 -24
  457. data/lib/puppet/parameter.rb +44 -26
  458. data/lib/puppet/parser/abstract_compiler.rb +2 -3
  459. data/lib/puppet/parser/ast/block_expression.rb +4 -2
  460. data/lib/puppet/parser/ast/branch.rb +2 -0
  461. data/lib/puppet/parser/ast/hostclass.rb +5 -3
  462. data/lib/puppet/parser/ast/leaf.rb +10 -6
  463. data/lib/puppet/parser/ast/node.rb +2 -0
  464. data/lib/puppet/parser/ast/pops_bridge.rb +23 -69
  465. data/lib/puppet/parser/ast/resource.rb +8 -8
  466. data/lib/puppet/parser/ast/resource_instance.rb +3 -0
  467. data/lib/puppet/parser/ast/resourceparam.rb +10 -8
  468. data/lib/puppet/parser/ast/top_level_construct.rb +2 -0
  469. data/lib/puppet/parser/ast.rb +25 -24
  470. data/lib/puppet/parser/catalog_compiler.rb +5 -5
  471. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +18 -41
  472. data/lib/puppet/parser/compiler/catalog_validator.rb +2 -0
  473. data/lib/puppet/parser/compiler.rb +88 -270
  474. data/lib/puppet/parser/e4_parser_adapter.rb +18 -17
  475. data/lib/puppet/parser/files.rb +10 -7
  476. data/lib/puppet/parser/functions/assert_type.rb +43 -41
  477. data/lib/puppet/parser/functions/binary_file.rb +16 -14
  478. data/lib/puppet/parser/functions/break.rb +29 -27
  479. data/lib/puppet/parser/functions/contain.rb +3 -1
  480. data/lib/puppet/parser/functions/create_resources.rb +28 -20
  481. data/lib/puppet/parser/functions/defined.rb +104 -102
  482. data/lib/puppet/parser/functions/dig.rb +26 -24
  483. data/lib/puppet/parser/functions/digest.rb +4 -2
  484. data/lib/puppet/parser/functions/each.rb +101 -99
  485. data/lib/puppet/parser/functions/epp.rb +7 -6
  486. data/lib/puppet/parser/functions/fail.rb +12 -3
  487. data/lib/puppet/parser/functions/file.rb +17 -15
  488. data/lib/puppet/parser/functions/filter.rb +57 -54
  489. data/lib/puppet/parser/functions/find_file.rb +19 -18
  490. data/lib/puppet/parser/functions/fqdn_rand.rb +31 -21
  491. data/lib/puppet/parser/functions/generate.rb +30 -27
  492. data/lib/puppet/parser/functions/hiera.rb +95 -93
  493. data/lib/puppet/parser/functions/hiera_array.rb +83 -82
  494. data/lib/puppet/parser/functions/hiera_hash.rb +93 -92
  495. data/lib/puppet/parser/functions/hiera_include.rb +93 -92
  496. data/lib/puppet/parser/functions/include.rb +5 -3
  497. data/lib/puppet/parser/functions/inline_epp.rb +8 -7
  498. data/lib/puppet/parser/functions/inline_template.rb +15 -13
  499. data/lib/puppet/parser/functions/lest.rb +36 -34
  500. data/lib/puppet/parser/functions/lookup.rb +132 -130
  501. data/lib/puppet/parser/functions/map.rb +54 -52
  502. data/lib/puppet/parser/functions/match.rb +31 -29
  503. data/lib/puppet/parser/functions/md5.rb +4 -2
  504. data/lib/puppet/parser/functions/new.rb +916 -915
  505. data/lib/puppet/parser/functions/next.rb +36 -34
  506. data/lib/puppet/parser/functions/realize.rb +13 -11
  507. data/lib/puppet/parser/functions/reduce.rb +134 -132
  508. data/lib/puppet/parser/functions/regsubst.rb +8 -5
  509. data/lib/puppet/parser/functions/require.rb +8 -5
  510. data/lib/puppet/parser/functions/return.rb +90 -88
  511. data/lib/puppet/parser/functions/reverse_each.rb +59 -57
  512. data/lib/puppet/parser/functions/scanf.rb +25 -23
  513. data/lib/puppet/parser/functions/sha1.rb +4 -2
  514. data/lib/puppet/parser/functions/sha256.rb +3 -1
  515. data/lib/puppet/parser/functions/shellquote.rb +2 -0
  516. data/lib/puppet/parser/functions/slice.rb +27 -25
  517. data/lib/puppet/parser/functions/split.rb +7 -6
  518. data/lib/puppet/parser/functions/sprintf.rb +8 -7
  519. data/lib/puppet/parser/functions/step.rb +62 -60
  520. data/lib/puppet/parser/functions/strftime.rb +175 -173
  521. data/lib/puppet/parser/functions/tag.rb +10 -7
  522. data/lib/puppet/parser/functions/tagged.rb +16 -13
  523. data/lib/puppet/parser/functions/template.rb +27 -24
  524. data/lib/puppet/parser/functions/then.rb +54 -52
  525. data/lib/puppet/parser/functions/type.rb +36 -34
  526. data/lib/puppet/parser/functions/versioncmp.rb +4 -3
  527. data/lib/puppet/parser/functions/with.rb +22 -20
  528. data/lib/puppet/parser/functions.rb +36 -23
  529. data/lib/puppet/parser/parser_factory.rb +4 -2
  530. data/lib/puppet/parser/relationship.rb +11 -4
  531. data/lib/puppet/parser/resource/param.rb +9 -1
  532. data/lib/puppet/parser/resource.rb +53 -116
  533. data/lib/puppet/parser/scope.rb +105 -87
  534. data/lib/puppet/parser/script_compiler.rb +14 -14
  535. data/lib/puppet/parser/templatewrapper.rb +10 -7
  536. data/lib/puppet/parser/type_loader.rb +33 -31
  537. data/lib/puppet/parser.rb +12 -10
  538. data/lib/puppet/plugins/configuration.rb +10 -4
  539. data/lib/puppet/plugins/syntax_checkers.rb +2 -1
  540. data/lib/puppet/plugins.rb +3 -1
  541. data/lib/puppet/pops/adaptable.rb +13 -20
  542. data/lib/puppet/pops/adapters.rb +12 -5
  543. data/lib/puppet/pops/evaluator/access_operator.rb +135 -122
  544. data/lib/puppet/pops/evaluator/callable_signature.rb +6 -5
  545. data/lib/puppet/pops/evaluator/closure.rb +272 -275
  546. data/lib/puppet/pops/evaluator/collector_transformer.rb +18 -15
  547. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +11 -11
  548. data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +5 -4
  549. data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +9 -7
  550. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +11 -10
  551. data/lib/puppet/pops/evaluator/compare_operator.rb +36 -21
  552. data/lib/puppet/pops/evaluator/deferred_resolver.rb +120 -23
  553. data/lib/puppet/pops/evaluator/epp_evaluator.rb +19 -18
  554. data/lib/puppet/pops/evaluator/evaluator_impl.rb +285 -267
  555. data/lib/puppet/pops/evaluator/external_syntax_support.rb +10 -8
  556. data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +6 -5
  557. data/lib/puppet/pops/evaluator/literal_evaluator.rb +21 -8
  558. data/lib/puppet/pops/evaluator/puppet_proc.rb +6 -3
  559. data/lib/puppet/pops/evaluator/relationship_operator.rb +15 -12
  560. data/lib/puppet/pops/evaluator/runtime3_converter.rb +36 -32
  561. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +40 -38
  562. data/lib/puppet/pops/evaluator/runtime3_support.rb +44 -50
  563. data/lib/puppet/pops/functions/dispatch.rb +7 -7
  564. data/lib/puppet/pops/functions/dispatcher.rb +17 -12
  565. data/lib/puppet/pops/functions/function.rb +19 -23
  566. data/lib/puppet/pops/issue_reporter.rb +25 -22
  567. data/lib/puppet/pops/issues.rb +21 -9
  568. data/lib/puppet/pops/label_provider.rb +6 -4
  569. data/lib/puppet/pops/loader/base_loader.rb +45 -33
  570. data/lib/puppet/pops/loader/dependency_loader.rb +15 -12
  571. data/lib/puppet/pops/loader/gem_support.rb +9 -4
  572. data/lib/puppet/pops/loader/generic_plan_instantiator.rb +30 -0
  573. data/lib/puppet/pops/loader/loader.rb +25 -13
  574. data/lib/puppet/pops/loader/loader_paths.rb +87 -51
  575. data/lib/puppet/pops/loader/module_loaders.rb +57 -54
  576. data/lib/puppet/pops/loader/predefined_loader.rb +7 -3
  577. data/lib/puppet/pops/loader/puppet_function_instantiator.rb +6 -2
  578. data/lib/puppet/pops/loader/puppet_plan_instantiator.rb +18 -5
  579. data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +6 -5
  580. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +6 -2
  581. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +6 -2
  582. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +74 -7
  583. data/lib/puppet/pops/loader/runtime3_type_loader.rb +9 -6
  584. data/lib/puppet/pops/loader/simple_environment_loader.rb +3 -3
  585. data/lib/puppet/pops/loader/static_loader.rb +33 -27
  586. data/lib/puppet/pops/loader/task_instantiator.rb +9 -3
  587. data/lib/puppet/pops/loader/type_definition_instantiator.rb +9 -5
  588. data/lib/puppet/pops/loader/typed_name.rb +4 -2
  589. data/lib/puppet/pops/loader/uri_helper.rb +3 -1
  590. data/lib/puppet/pops/loaders.rb +60 -43
  591. data/lib/puppet/pops/lookup/configured_data_provider.rb +2 -0
  592. data/lib/puppet/pops/lookup/context.rb +36 -28
  593. data/lib/puppet/pops/lookup/data_adapter.rb +2 -0
  594. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +8 -7
  595. data/lib/puppet/pops/lookup/data_hash_function_provider.rb +5 -3
  596. data/lib/puppet/pops/lookup/data_provider.rb +2 -0
  597. data/lib/puppet/pops/lookup/environment_data_provider.rb +2 -0
  598. data/lib/puppet/pops/lookup/explainer.rb +47 -45
  599. data/lib/puppet/pops/lookup/function_provider.rb +8 -6
  600. data/lib/puppet/pops/lookup/global_data_provider.rb +4 -3
  601. data/lib/puppet/pops/lookup/hiera_config.rb +216 -154
  602. data/lib/puppet/pops/lookup/interpolation.rb +22 -10
  603. data/lib/puppet/pops/lookup/invocation.rb +14 -3
  604. data/lib/puppet/pops/lookup/key_recorder.rb +21 -0
  605. data/lib/puppet/pops/lookup/location_resolver.rb +4 -2
  606. data/lib/puppet/pops/lookup/lookup_adapter.rb +47 -34
  607. data/lib/puppet/pops/lookup/lookup_key.rb +3 -1
  608. data/lib/puppet/pops/lookup/lookup_key_function_provider.rb +4 -2
  609. data/lib/puppet/pops/lookup/module_data_provider.rb +12 -9
  610. data/lib/puppet/pops/lookup/sub_lookup.rb +8 -4
  611. data/lib/puppet/pops/lookup.rb +17 -11
  612. data/lib/puppet/pops/merge_strategy.rb +43 -33
  613. data/lib/puppet/pops/migration/migration_checker.rb +8 -5
  614. data/lib/puppet/pops/model/ast.pp +0 -42
  615. data/lib/puppet/pops/model/ast.rb +787 -975
  616. data/lib/puppet/pops/model/ast_transformer.rb +20 -20
  617. data/lib/puppet/pops/model/factory.rb +88 -94
  618. data/lib/puppet/pops/model/model_label_provider.rb +5 -7
  619. data/lib/puppet/pops/model/model_tree_dumper.rb +32 -52
  620. data/lib/puppet/pops/model/pn_transformer.rb +10 -31
  621. data/lib/puppet/pops/model/tree_dumper.rb +7 -4
  622. data/lib/puppet/pops/parser/code_merger.rb +5 -5
  623. data/lib/puppet/pops/parser/egrammar.ra +6 -60
  624. data/lib/puppet/pops/parser/eparser.rb +1699 -1876
  625. data/lib/puppet/pops/parser/epp_parser.rb +6 -5
  626. data/lib/puppet/pops/parser/epp_support.rb +12 -10
  627. data/lib/puppet/pops/parser/evaluating_parser.rb +21 -20
  628. data/lib/puppet/pops/parser/heredoc_support.rb +31 -20
  629. data/lib/puppet/pops/parser/interpolation_support.rb +39 -34
  630. data/lib/puppet/pops/parser/lexer2.rb +160 -143
  631. data/lib/puppet/pops/parser/lexer_support.rb +58 -58
  632. data/lib/puppet/pops/parser/locatable.rb +2 -2
  633. data/lib/puppet/pops/parser/locator.rb +149 -124
  634. data/lib/puppet/pops/parser/parser_support.rb +37 -32
  635. data/lib/puppet/pops/parser/pn_parser.rb +27 -25
  636. data/lib/puppet/pops/parser/slurp_support.rb +42 -40
  637. data/lib/puppet/pops/patterns.rb +14 -14
  638. data/lib/puppet/pops/pcore.rb +7 -6
  639. data/lib/puppet/pops/pn.rb +8 -5
  640. data/lib/puppet/pops/puppet_stack.rb +54 -48
  641. data/lib/puppet/pops/resource/param.rb +13 -12
  642. data/lib/puppet/pops/resource/resource_type_impl.rb +49 -67
  643. data/lib/puppet/pops/semantic_error.rb +3 -1
  644. data/lib/puppet/pops/serialization/abstract_reader.rb +6 -4
  645. data/lib/puppet/pops/serialization/abstract_writer.rb +11 -9
  646. data/lib/puppet/pops/serialization/deserializer.rb +3 -0
  647. data/lib/puppet/pops/serialization/extension.rb +8 -0
  648. data/lib/puppet/pops/serialization/from_data_converter.rb +16 -9
  649. data/lib/puppet/pops/serialization/instance_reader.rb +2 -0
  650. data/lib/puppet/pops/serialization/instance_writer.rb +2 -0
  651. data/lib/puppet/pops/serialization/json.rb +10 -6
  652. data/lib/puppet/pops/serialization/json_path.rb +6 -4
  653. data/lib/puppet/pops/serialization/object.rb +6 -3
  654. data/lib/puppet/pops/serialization/serializer.rb +20 -16
  655. data/lib/puppet/pops/serialization/time_factory.rb +2 -1
  656. data/lib/puppet/pops/serialization/to_data_converter.rb +9 -6
  657. data/lib/puppet/pops/serialization/to_stringified_converter.rb +9 -8
  658. data/lib/puppet/pops/serialization.rb +10 -8
  659. data/lib/puppet/pops/time/timespan.rb +37 -27
  660. data/lib/puppet/pops/time/timestamp.rb +12 -5
  661. data/lib/puppet/pops/types/annotatable.rb +3 -2
  662. data/lib/puppet/pops/types/annotation.rb +6 -4
  663. data/lib/puppet/pops/types/class_loader.rb +17 -15
  664. data/lib/puppet/pops/types/implementation_registry.rb +4 -1
  665. data/lib/puppet/pops/types/iterable.rb +57 -21
  666. data/lib/puppet/pops/types/p_binary_type.rb +6 -6
  667. data/lib/puppet/pops/types/p_init_type.rb +15 -12
  668. data/lib/puppet/pops/types/p_meta_type.rb +7 -6
  669. data/lib/puppet/pops/types/p_object_type.rb +104 -79
  670. data/lib/puppet/pops/types/p_object_type_extension.rb +25 -14
  671. data/lib/puppet/pops/types/p_runtime_type.rb +12 -10
  672. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +3 -2
  673. data/lib/puppet/pops/types/p_sem_ver_type.rb +16 -10
  674. data/lib/puppet/pops/types/p_sensitive_type.rb +14 -6
  675. data/lib/puppet/pops/types/p_timespan_type.rb +7 -5
  676. data/lib/puppet/pops/types/p_timestamp_type.rb +4 -3
  677. data/lib/puppet/pops/types/p_type_set_type.rb +56 -45
  678. data/lib/puppet/pops/types/p_uri_type.rb +42 -34
  679. data/lib/puppet/pops/types/puppet_object.rb +2 -1
  680. data/lib/puppet/pops/types/recursion_guard.rb +12 -6
  681. data/lib/puppet/pops/types/ruby_generator.rb +19 -14
  682. data/lib/puppet/pops/types/ruby_method.rb +8 -7
  683. data/lib/puppet/pops/types/string_converter.rb +130 -118
  684. data/lib/puppet/pops/types/tree_iterators.rb +16 -20
  685. data/lib/puppet/pops/types/type_acceptor.rb +2 -0
  686. data/lib/puppet/pops/types/type_asserter.rb +5 -3
  687. data/lib/puppet/pops/types/type_assertion_error.rb +1 -1
  688. data/lib/puppet/pops/types/type_calculator.rb +75 -55
  689. data/lib/puppet/pops/types/type_conversion_error.rb +2 -10
  690. data/lib/puppet/pops/types/type_factory.rb +25 -16
  691. data/lib/puppet/pops/types/type_formatter.rb +75 -81
  692. data/lib/puppet/pops/types/type_mismatch_describer.rb +83 -53
  693. data/lib/puppet/pops/types/type_parser.rb +131 -126
  694. data/lib/puppet/pops/types/type_set_reference.rb +3 -0
  695. data/lib/puppet/pops/types/type_with_members.rb +2 -2
  696. data/lib/puppet/pops/types/types.rb +274 -254
  697. data/lib/puppet/pops/utils.rb +43 -45
  698. data/lib/puppet/pops/validation/checker4_0.rb +126 -100
  699. data/lib/puppet/pops/validation/tasks_checker.rb +12 -18
  700. data/lib/puppet/pops/validation/validator_factory_4_0.rb +5 -3
  701. data/lib/puppet/pops/validation.rb +38 -42
  702. data/lib/puppet/pops/visitable.rb +2 -0
  703. data/lib/puppet/pops/visitor.rb +30 -10
  704. data/lib/puppet/pops.rb +63 -60
  705. data/lib/puppet/property/boolean.rb +3 -1
  706. data/lib/puppet/property/ensure.rb +20 -18
  707. data/lib/puppet/property/keyvalue.rb +18 -16
  708. data/lib/puppet/property/list.rb +13 -11
  709. data/lib/puppet/property/ordered_list.rb +7 -6
  710. data/lib/puppet/property.rb +65 -63
  711. data/lib/puppet/provider/aix_object.rb +21 -13
  712. data/lib/puppet/provider/command.rb +2 -0
  713. data/lib/puppet/provider/confine.rb +4 -2
  714. data/lib/puppet/provider/exec/posix.rb +21 -6
  715. data/lib/puppet/provider/exec/shell.rb +2 -0
  716. data/lib/puppet/provider/exec/windows.rb +7 -5
  717. data/lib/puppet/provider/exec.rb +26 -12
  718. data/lib/puppet/provider/file/posix.rb +46 -20
  719. data/lib/puppet/provider/file/windows.rb +68 -21
  720. data/lib/puppet/provider/group/aix.rb +6 -3
  721. data/lib/puppet/provider/group/directoryservice.rb +8 -6
  722. data/lib/puppet/provider/group/groupadd.rb +103 -34
  723. data/lib/puppet/provider/group/ldap.rb +11 -5
  724. data/lib/puppet/provider/group/pw.rb +9 -6
  725. data/lib/puppet/provider/group/windows_adsi.rb +18 -12
  726. data/lib/puppet/provider/ldap.rb +15 -9
  727. data/lib/puppet/provider/nameservice/directoryservice.rb +83 -69
  728. data/lib/puppet/provider/nameservice/objectadd.rb +5 -5
  729. data/lib/puppet/provider/nameservice/pw.rb +10 -10
  730. data/lib/puppet/provider/nameservice.rb +36 -40
  731. data/lib/puppet/provider/network_device.rb +6 -4
  732. data/lib/puppet/provider/package/aix.rb +51 -32
  733. data/lib/puppet/provider/package/appdmg.rb +31 -27
  734. data/lib/puppet/provider/package/apple.rb +10 -7
  735. data/lib/puppet/provider/package/apt.rb +174 -23
  736. data/lib/puppet/provider/package/aptitude.rb +10 -4
  737. data/lib/puppet/provider/package/aptrpm.rb +18 -14
  738. data/lib/puppet/provider/package/blastwave.rb +20 -22
  739. data/lib/puppet/provider/package/dnf.rb +15 -7
  740. data/lib/puppet/provider/package/dnfmodule.rb +143 -0
  741. data/lib/puppet/provider/package/dpkg.rb +55 -29
  742. data/lib/puppet/provider/package/fink.rb +33 -13
  743. data/lib/puppet/provider/package/freebsd.rb +6 -4
  744. data/lib/puppet/provider/package/gem.rb +181 -60
  745. data/lib/puppet/provider/package/hpux.rb +10 -8
  746. data/lib/puppet/provider/package/macports.rb +14 -9
  747. data/lib/puppet/provider/package/nim.rb +47 -39
  748. data/lib/puppet/provider/package/openbsd.rb +66 -45
  749. data/lib/puppet/provider/package/opkg.rb +20 -16
  750. data/lib/puppet/provider/package/pacman.rb +55 -51
  751. data/lib/puppet/provider/package/pip.rb +276 -117
  752. data/lib/puppet/provider/package/pip2.rb +18 -0
  753. data/lib/puppet/provider/package/pip3.rb +5 -7
  754. data/lib/puppet/provider/package/pkg.rb +86 -41
  755. data/lib/puppet/provider/package/pkgdmg.rb +31 -23
  756. data/lib/puppet/provider/package/pkgin.rb +15 -14
  757. data/lib/puppet/provider/package/pkgng.rb +69 -34
  758. data/lib/puppet/provider/package/pkgutil.rb +41 -41
  759. data/lib/puppet/provider/package/portage.rb +87 -73
  760. data/lib/puppet/provider/package/ports.rb +19 -16
  761. data/lib/puppet/provider/package/portupgrade.rb +51 -57
  762. data/lib/puppet/provider/package/puppet_gem.rb +16 -8
  763. data/lib/puppet/provider/package/puppetserver_gem.rb +174 -0
  764. data/lib/puppet/provider/package/rpm.rb +104 -254
  765. data/lib/puppet/provider/package/rug.rb +11 -11
  766. data/lib/puppet/provider/package/sun.rb +31 -27
  767. data/lib/puppet/provider/package/sunfreeware.rb +3 -1
  768. data/lib/puppet/provider/package/tdnf.rb +8 -1
  769. data/lib/puppet/provider/package/up2date.rb +10 -10
  770. data/lib/puppet/provider/package/urpmi.rb +9 -7
  771. data/lib/puppet/provider/package/windows/exe_package.rb +38 -7
  772. data/lib/puppet/provider/package/windows/msi_package.rb +6 -4
  773. data/lib/puppet/provider/package/windows/package.rb +19 -14
  774. data/lib/puppet/provider/package/windows.rb +28 -10
  775. data/lib/puppet/provider/package/xbps.rb +127 -0
  776. data/lib/puppet/provider/package/yum.rb +165 -60
  777. data/lib/puppet/provider/package/zypper.rb +90 -29
  778. data/lib/puppet/provider/package.rb +13 -8
  779. data/lib/puppet/provider/package_targetable.rb +71 -0
  780. data/lib/puppet/provider/parsedfile.rb +41 -27
  781. data/lib/puppet/provider/service/base.rb +29 -28
  782. data/lib/puppet/provider/service/bsd.rb +7 -5
  783. data/lib/puppet/provider/service/daemontools.rb +49 -47
  784. data/lib/puppet/provider/service/debian.rb +17 -15
  785. data/lib/puppet/provider/service/freebsd.rb +50 -52
  786. data/lib/puppet/provider/service/gentoo.rb +11 -9
  787. data/lib/puppet/provider/service/init.rb +39 -39
  788. data/lib/puppet/provider/service/launchd.rb +72 -42
  789. data/lib/puppet/provider/service/openbsd.rb +17 -16
  790. data/lib/puppet/provider/service/openrc.rb +6 -5
  791. data/lib/puppet/provider/service/openwrt.rb +7 -6
  792. data/lib/puppet/provider/service/rcng.rb +9 -7
  793. data/lib/puppet/provider/service/redhat.rb +10 -7
  794. data/lib/puppet/provider/service/runit.rb +18 -23
  795. data/lib/puppet/provider/service/service.rb +32 -7
  796. data/lib/puppet/provider/service/smf.rb +189 -90
  797. data/lib/puppet/provider/service/src.rb +30 -30
  798. data/lib/puppet/provider/service/systemd.rb +107 -67
  799. data/lib/puppet/provider/service/upstart.rb +62 -47
  800. data/lib/puppet/provider/service/windows.rb +103 -39
  801. data/lib/puppet/provider/user/aix.rb +74 -26
  802. data/lib/puppet/provider/user/directoryservice.rb +170 -115
  803. data/lib/puppet/provider/user/hpux.rb +33 -35
  804. data/lib/puppet/provider/user/ldap.rb +22 -15
  805. data/lib/puppet/provider/user/openbsd.rb +27 -24
  806. data/lib/puppet/provider/user/pw.rb +22 -11
  807. data/lib/puppet/provider/user/user_role_add.rb +52 -42
  808. data/lib/puppet/provider/user/useradd.rb +236 -76
  809. data/lib/puppet/provider/user/windows_adsi.rb +34 -14
  810. data/lib/puppet/provider.rb +32 -43
  811. data/lib/puppet/reference/configuration.rb +55 -47
  812. data/lib/puppet/reference/function.rb +2 -0
  813. data/lib/puppet/reference/indirection.rb +39 -34
  814. data/lib/puppet/reference/metaparameter.rb +4 -4
  815. data/lib/puppet/reference/providers.rb +16 -15
  816. data/lib/puppet/reference/report.rb +3 -1
  817. data/lib/puppet/reference/type.rb +12 -14
  818. data/lib/puppet/relationship.rb +14 -18
  819. data/lib/puppet/reports/http.rb +19 -11
  820. data/lib/puppet/reports/log.rb +5 -4
  821. data/lib/puppet/reports/store.rb +11 -8
  822. data/lib/puppet/reports.rb +10 -8
  823. data/lib/puppet/resource/catalog.rb +96 -112
  824. data/lib/puppet/resource/status.rb +11 -9
  825. data/lib/puppet/resource/type.rb +64 -157
  826. data/lib/puppet/resource/type_collection.rb +45 -73
  827. data/lib/puppet/resource.rb +162 -172
  828. data/lib/puppet/runtime.rb +67 -0
  829. data/lib/puppet/scheduler/job.rb +2 -0
  830. data/lib/puppet/scheduler/scheduler.rb +4 -2
  831. data/lib/puppet/scheduler/splay_job.rb +2 -0
  832. data/lib/puppet/scheduler/timer.rb +2 -0
  833. data/lib/puppet/scheduler.rb +7 -5
  834. data/lib/puppet/settings/alias_setting.rb +37 -0
  835. data/lib/puppet/settings/array_setting.rb +2 -1
  836. data/lib/puppet/settings/autosign_setting.rb +3 -2
  837. data/lib/puppet/settings/base_setting.rb +56 -25
  838. data/lib/puppet/settings/boolean_setting.rb +5 -3
  839. data/lib/puppet/settings/certificate_revocation_setting.rb +3 -2
  840. data/lib/puppet/settings/config_file.rb +15 -19
  841. data/lib/puppet/settings/directory_setting.rb +2 -0
  842. data/lib/puppet/settings/duration_setting.rb +5 -4
  843. data/lib/puppet/settings/enum_setting.rb +3 -1
  844. data/lib/puppet/settings/environment_conf.rb +21 -15
  845. data/lib/puppet/settings/errors.rb +7 -4
  846. data/lib/puppet/settings/file_or_directory_setting.rb +4 -7
  847. data/lib/puppet/settings/file_setting.rb +19 -32
  848. data/lib/puppet/settings/http_extra_headers_setting.rb +26 -0
  849. data/lib/puppet/settings/ini_file.rb +7 -4
  850. data/lib/puppet/settings/integer_setting.rb +19 -0
  851. data/lib/puppet/settings/path_setting.rb +2 -0
  852. data/lib/puppet/settings/port_setting.rb +17 -0
  853. data/lib/puppet/settings/priority_setting.rb +16 -14
  854. data/lib/puppet/settings/server_list_setting.rb +13 -3
  855. data/lib/puppet/settings/string_setting.rb +2 -0
  856. data/lib/puppet/settings/symbolic_enum_setting.rb +3 -1
  857. data/lib/puppet/settings/terminus_setting.rb +2 -0
  858. data/lib/puppet/settings/ttl_setting.rb +7 -5
  859. data/lib/puppet/settings/value_translator.rb +9 -8
  860. data/lib/puppet/settings.rb +397 -232
  861. data/lib/puppet/ssl/base.rb +17 -15
  862. data/lib/puppet/ssl/certificate.rb +12 -13
  863. data/lib/puppet/ssl/certificate_request.rb +45 -50
  864. data/lib/puppet/ssl/certificate_request_attributes.rb +9 -6
  865. data/lib/puppet/ssl/certificate_signer.rb +9 -3
  866. data/lib/puppet/ssl/digest.rb +2 -0
  867. data/lib/puppet/ssl/error.rb +29 -0
  868. data/lib/puppet/ssl/oids.rb +17 -11
  869. data/lib/puppet/ssl/openssl_loader.rb +26 -0
  870. data/lib/puppet/ssl/ssl_context.rb +27 -0
  871. data/lib/puppet/ssl/ssl_provider.rb +354 -0
  872. data/lib/puppet/ssl/state_machine.rb +605 -0
  873. data/lib/puppet/ssl/verifier.rb +143 -0
  874. data/lib/puppet/ssl.rb +21 -8
  875. data/lib/puppet/syntax_checkers/base64.rb +8 -6
  876. data/lib/puppet/syntax_checkers/epp.rb +35 -0
  877. data/lib/puppet/syntax_checkers/json.rb +8 -8
  878. data/lib/puppet/syntax_checkers/pp.rb +35 -0
  879. data/lib/puppet/syntax_checkers.rb +3 -1
  880. data/lib/puppet/test/test_helper.rb +50 -50
  881. data/lib/puppet/thread_local.rb +6 -0
  882. data/lib/puppet/transaction/additional_resource_generator.rb +13 -8
  883. data/lib/puppet/transaction/event.rb +14 -10
  884. data/lib/puppet/transaction/event_manager.rb +18 -19
  885. data/lib/puppet/transaction/persistence.rb +35 -15
  886. data/lib/puppet/transaction/report.rb +88 -48
  887. data/lib/puppet/transaction/resource_harness.rb +17 -10
  888. data/lib/puppet/transaction.rb +105 -59
  889. data/lib/puppet/trusted_external.rb +46 -0
  890. data/lib/puppet/type/component.rb +19 -11
  891. data/lib/puppet/type/exec.rb +196 -90
  892. data/lib/puppet/type/file/checksum.rb +8 -6
  893. data/lib/puppet/type/file/checksum_value.rb +8 -6
  894. data/lib/puppet/type/file/content.rb +31 -23
  895. data/lib/puppet/type/file/ctime.rb +8 -6
  896. data/lib/puppet/type/file/data_sync.rb +18 -10
  897. data/lib/puppet/type/file/ensure.rb +35 -33
  898. data/lib/puppet/type/file/group.rb +12 -3
  899. data/lib/puppet/type/file/mode.rb +28 -13
  900. data/lib/puppet/type/file/mtime.rb +8 -5
  901. data/lib/puppet/type/file/owner.rb +11 -3
  902. data/lib/puppet/type/file/selcontext.rb +25 -23
  903. data/lib/puppet/type/file/source.rb +110 -99
  904. data/lib/puppet/type/file/target.rb +25 -26
  905. data/lib/puppet/type/file/type.rb +5 -3
  906. data/lib/puppet/type/file.rb +206 -109
  907. data/lib/puppet/type/filebucket.rb +24 -18
  908. data/lib/puppet/type/group.rb +22 -19
  909. data/lib/puppet/type/notify.rb +8 -6
  910. data/lib/puppet/type/package.rb +206 -60
  911. data/lib/puppet/type/resources.rb +44 -42
  912. data/lib/puppet/type/schedule.rb +25 -21
  913. data/lib/puppet/type/service.rb +79 -24
  914. data/lib/puppet/type/stage.rb +2 -0
  915. data/lib/puppet/type/tidy.rb +79 -48
  916. data/lib/puppet/type/user.rb +146 -102
  917. data/lib/puppet/type/whit.rb +2 -1
  918. data/lib/puppet/type.rb +315 -359
  919. data/lib/puppet/util/at_fork/noop.rb +2 -0
  920. data/lib/puppet/util/at_fork/solaris.rb +38 -40
  921. data/lib/puppet/util/at_fork.rb +7 -5
  922. data/lib/puppet/util/autoload.rb +28 -41
  923. data/lib/puppet/util/backups.rb +13 -11
  924. data/lib/puppet/util/character_encoding.rb +18 -11
  925. data/lib/puppet/util/checksums.rb +37 -19
  926. data/lib/puppet/util/classgen.rb +29 -28
  927. data/lib/puppet/util/colors.rb +68 -66
  928. data/lib/puppet/util/command_line/puppet_option_parser.rb +20 -18
  929. data/lib/puppet/util/command_line/trollop.rb +695 -673
  930. data/lib/puppet/util/command_line.rb +25 -15
  931. data/lib/puppet/util/constant_inflector.rb +4 -3
  932. data/lib/puppet/util/diff.rb +21 -20
  933. data/lib/puppet/util/docs.rb +8 -4
  934. data/lib/puppet/util/errors.rb +13 -11
  935. data/lib/puppet/util/execution.rb +75 -55
  936. data/lib/puppet/util/execution_stub.rb +2 -0
  937. data/lib/puppet/util/feature.rb +26 -14
  938. data/lib/puppet/util/file_watcher.rb +3 -0
  939. data/lib/puppet/util/fileparsing.rb +71 -64
  940. data/lib/puppet/util/filetype.rb +46 -45
  941. data/lib/puppet/util/http_proxy.rb +4 -205
  942. data/lib/puppet/util/inifile.rb +15 -20
  943. data/lib/puppet/util/instance_loader.rb +19 -11
  944. data/lib/puppet/util/json.rb +27 -2
  945. data/lib/puppet/util/json_lockfile.rb +5 -2
  946. data/lib/puppet/util/ldap/connection.rb +26 -22
  947. data/lib/puppet/util/ldap/generator.rb +3 -1
  948. data/lib/puppet/util/ldap/manager.rb +29 -27
  949. data/lib/puppet/util/ldap.rb +2 -0
  950. data/lib/puppet/util/libuser.rb +3 -2
  951. data/lib/puppet/util/limits.rb +3 -1
  952. data/lib/puppet/util/lockfile.rb +8 -8
  953. data/lib/puppet/util/log/destination.rb +4 -3
  954. data/lib/puppet/util/log/destinations.rb +27 -33
  955. data/lib/puppet/util/log.rb +71 -50
  956. data/lib/puppet/util/logging.rb +69 -77
  957. data/lib/puppet/util/metaid.rb +2 -1
  958. data/lib/puppet/util/metric.rb +15 -11
  959. data/lib/puppet/util/monkey_patches.rb +58 -52
  960. data/lib/puppet/util/multi_match.rb +9 -5
  961. data/lib/puppet/util/network_device/base.rb +6 -5
  962. data/lib/puppet/util/network_device/config.rb +11 -11
  963. data/lib/puppet/util/network_device/transport/base.rb +3 -3
  964. data/lib/puppet/util/network_device/transport.rb +3 -1
  965. data/lib/puppet/util/network_device.rb +2 -0
  966. data/lib/puppet/util/package/version/debian.rb +177 -0
  967. data/lib/puppet/util/package/version/gem.rb +18 -0
  968. data/lib/puppet/util/package/version/pip.rb +173 -0
  969. data/lib/puppet/util/package/version/range/eq.rb +17 -0
  970. data/lib/puppet/util/package/version/range/gt.rb +17 -0
  971. data/lib/puppet/util/package/version/range/gt_eq.rb +17 -0
  972. data/lib/puppet/util/package/version/range/lt.rb +17 -0
  973. data/lib/puppet/util/package/version/range/lt_eq.rb +17 -0
  974. data/lib/puppet/util/package/version/range/min_max.rb +26 -0
  975. data/lib/puppet/util/package/version/range/simple.rb +13 -0
  976. data/lib/puppet/util/package/version/range.rb +57 -0
  977. data/lib/puppet/util/package/version/rpm.rb +75 -0
  978. data/lib/puppet/util/package.rb +29 -17
  979. data/lib/puppet/util/pidlock.rb +49 -8
  980. data/lib/puppet/util/platform.rb +40 -6
  981. data/lib/puppet/util/plist.rb +23 -17
  982. data/lib/puppet/util/posix.rb +81 -27
  983. data/lib/puppet/util/profiler/aggregate.rb +7 -10
  984. data/lib/puppet/util/profiler/around_profiler.rb +2 -1
  985. data/lib/puppet/util/profiler/logging.rb +3 -1
  986. data/lib/puppet/util/profiler/object_counts.rb +3 -1
  987. data/lib/puppet/util/profiler/wall_clock.rb +5 -4
  988. data/lib/puppet/util/profiler.rb +5 -3
  989. data/lib/puppet/util/provider_features.rb +15 -13
  990. data/lib/puppet/util/psych_support.rb +2 -0
  991. data/lib/puppet/util/rdoc/code_objects.rb +20 -21
  992. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +120 -128
  993. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +62 -79
  994. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +32 -29
  995. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +3 -1
  996. data/lib/puppet/util/rdoc/parser.rb +8 -6
  997. data/lib/puppet/util/rdoc.rb +12 -18
  998. data/lib/puppet/util/reference.rb +9 -33
  999. data/lib/puppet/util/resource_template.rb +7 -5
  1000. data/lib/puppet/util/retry_action.rb +7 -6
  1001. data/lib/puppet/util/rpm_compare.rb +196 -0
  1002. data/lib/puppet/util/rubygems.rb +9 -5
  1003. data/lib/puppet/util/run_mode.rb +59 -5
  1004. data/lib/puppet/util/selinux.rb +82 -27
  1005. data/lib/puppet/util/skip_tags.rb +7 -1
  1006. data/lib/puppet/util/splayer.rb +2 -0
  1007. data/lib/puppet/util/storage.rb +14 -15
  1008. data/lib/puppet/util/suidmanager.rb +40 -40
  1009. data/lib/puppet/util/symbolic_file_mode.rb +96 -84
  1010. data/lib/puppet/util/tag_set.rb +5 -3
  1011. data/lib/puppet/util/tagging.rb +14 -14
  1012. data/lib/puppet/util/terminal.rb +6 -4
  1013. data/lib/puppet/util/user_attr.rb +9 -7
  1014. data/lib/puppet/util/warnings.rb +4 -0
  1015. data/lib/puppet/util/watched_file.rb +5 -2
  1016. data/lib/puppet/util/watcher/change_watcher.rb +2 -0
  1017. data/lib/puppet/util/watcher/periodic_watcher.rb +2 -1
  1018. data/lib/puppet/util/watcher/timer.rb +2 -0
  1019. data/lib/puppet/util/watcher.rb +8 -8
  1020. data/lib/puppet/util/windows/access_control_entry.rb +4 -2
  1021. data/lib/puppet/util/windows/access_control_list.rb +10 -7
  1022. data/lib/puppet/util/windows/adsi.rb +168 -77
  1023. data/lib/puppet/util/windows/com.rb +10 -7
  1024. data/lib/puppet/util/windows/daemon.rb +340 -0
  1025. data/lib/puppet/util/windows/error.rb +9 -6
  1026. data/lib/puppet/util/windows/eventlog.rb +18 -24
  1027. data/lib/puppet/util/windows/file.rb +57 -287
  1028. data/lib/puppet/util/windows/monkey_patches/process.rb +413 -0
  1029. data/lib/puppet/util/windows/principal.rb +55 -43
  1030. data/lib/puppet/util/windows/process.rb +87 -244
  1031. data/lib/puppet/util/windows/registry.rb +117 -72
  1032. data/lib/puppet/util/windows/root_certs.rb +7 -5
  1033. data/lib/puppet/util/windows/security.rb +118 -92
  1034. data/lib/puppet/util/windows/security_descriptor.rb +3 -1
  1035. data/lib/puppet/util/windows/service.rb +190 -466
  1036. data/lib/puppet/util/windows/sid.rb +37 -28
  1037. data/lib/puppet/util/windows/string.rb +14 -13
  1038. data/lib/puppet/util/windows/user.rb +277 -33
  1039. data/lib/puppet/util/windows.rb +32 -26
  1040. data/lib/puppet/util/yaml.rb +17 -22
  1041. data/lib/puppet/util.rb +230 -182
  1042. data/lib/puppet/vendor/require_vendored.rb +0 -2
  1043. data/lib/puppet/vendor.rb +5 -3
  1044. data/lib/puppet/version.rb +6 -6
  1045. data/lib/puppet/x509/cert_provider.rb +405 -0
  1046. data/lib/puppet/x509/pem_store.rb +57 -0
  1047. data/lib/puppet/x509.rb +13 -0
  1048. data/lib/puppet.rb +124 -79
  1049. data/lib/puppet_pal.rb +7 -1132
  1050. data/lib/puppet_x.rb +2 -0
  1051. data/locales/puppet.pot +3096 -3030
  1052. data/man/man5/puppet.conf.5 +637 -299
  1053. data/man/man8/puppet-agent.8 +86 -69
  1054. data/man/man8/puppet-apply.8 +7 -4
  1055. data/man/man8/puppet-catalog.8 +38 -14
  1056. data/man/man8/puppet-config.8 +6 -6
  1057. data/man/man8/puppet-describe.8 +1 -1
  1058. data/man/man8/puppet-device.8 +6 -3
  1059. data/man/man8/puppet-doc.8 +1 -1
  1060. data/man/man8/puppet-epp.8 +1 -1
  1061. data/man/man8/puppet-facts.8 +65 -17
  1062. data/man/man8/puppet-filebucket.8 +26 -7
  1063. data/man/man8/puppet-generate.8 +1 -1
  1064. data/man/man8/puppet-help.8 +6 -3
  1065. data/man/man8/puppet-lookup.8 +9 -6
  1066. data/man/man8/puppet-module.8 +3 -57
  1067. data/man/man8/puppet-node.8 +11 -12
  1068. data/man/man8/puppet-parser.8 +1 -1
  1069. data/man/man8/puppet-plugin.8 +1 -1
  1070. data/man/man8/puppet-report.8 +8 -9
  1071. data/man/man8/puppet-resource.8 +5 -1
  1072. data/man/man8/puppet-script.8 +5 -2
  1073. data/man/man8/puppet-ssl.8 +14 -2
  1074. data/man/man8/puppet.8 +3 -3
  1075. metadata +209 -2622
  1076. data/COMMITTERS.md +0 -244
  1077. data/CONTRIBUTING.md +0 -167
  1078. data/MAINTAINERS +0 -47
  1079. data/conf/auth.conf +0 -150
  1080. data/examples/hiera/etc/hiera.yaml +0 -15
  1081. data/examples/hiera/etc/hieradb/common.yaml +0 -3
  1082. data/examples/hiera/etc/hieradb/dc1.yaml +0 -6
  1083. data/examples/hiera/etc/hieradb/development.yaml +0 -2
  1084. data/examples/hiera/etc/puppet.conf +0 -3
  1085. data/examples/hiera/modules/data/manifests/common.pp +0 -4
  1086. data/examples/hiera/modules/ntp/manifests/data.pp +0 -4
  1087. data/examples/hiera/modules/ntp/templates/ntp.conf.erb +0 -3
  1088. data/examples/hiera/modules/users/manifests/development.pp +0 -4
  1089. data/ext/README.environment +0 -8
  1090. data/ext/autotest/Rakefile +0 -8
  1091. data/ext/autotest/config +0 -43
  1092. data/ext/autotest/readme.rst +0 -16
  1093. data/ext/cert_inspector +0 -140
  1094. data/ext/dbfix.sql +0 -132
  1095. data/ext/debian/README.Debian +0 -8
  1096. data/ext/debian/README.source +0 -2
  1097. data/ext/debian/TODO.Debian +0 -1
  1098. data/ext/debian/changelog.erb +0 -1122
  1099. data/ext/debian/compat +0 -1
  1100. data/ext/debian/control +0 -144
  1101. data/ext/debian/copyright +0 -339
  1102. data/ext/debian/docs +0 -1
  1103. data/ext/debian/fileserver.conf +0 -41
  1104. data/ext/debian/puppet-common.dirs +0 -13
  1105. data/ext/debian/puppet-common.install +0 -3
  1106. data/ext/debian/puppet-common.lintian-overrides +0 -5
  1107. data/ext/debian/puppet-common.manpages +0 -28
  1108. data/ext/debian/puppet-common.postinst +0 -35
  1109. data/ext/debian/puppet-common.postrm +0 -33
  1110. data/ext/debian/puppet-el.dirs +0 -1
  1111. data/ext/debian/puppet-el.emacsen-install +0 -25
  1112. data/ext/debian/puppet-el.emacsen-remove +0 -11
  1113. data/ext/debian/puppet-el.emacsen-startup +0 -9
  1114. data/ext/debian/puppet-el.install +0 -1
  1115. data/ext/debian/puppet-testsuite.install +0 -2
  1116. data/ext/debian/puppet-testsuite.lintian-overrides +0 -4
  1117. data/ext/debian/puppet.lintian-overrides +0 -3
  1118. data/ext/debian/puppet.logrotate +0 -20
  1119. data/ext/debian/puppet.postinst +0 -20
  1120. data/ext/debian/puppet.postrm +0 -20
  1121. data/ext/debian/puppet.preinst +0 -20
  1122. data/ext/debian/puppetmaster-common.install +0 -2
  1123. data/ext/debian/puppetmaster-common.manpages +0 -2
  1124. data/ext/debian/puppetmaster-common.postinst +0 -6
  1125. data/ext/debian/puppetmaster-passenger.dirs +0 -4
  1126. data/ext/debian/puppetmaster-passenger.postinst +0 -162
  1127. data/ext/debian/puppetmaster-passenger.postrm +0 -61
  1128. data/ext/debian/puppetmaster.README.debian +0 -17
  1129. data/ext/debian/puppetmaster.default +0 -14
  1130. data/ext/debian/puppetmaster.init +0 -137
  1131. data/ext/debian/puppetmaster.lintian-overrides +0 -3
  1132. data/ext/debian/puppetmaster.postinst +0 -20
  1133. data/ext/debian/puppetmaster.postrm +0 -5
  1134. data/ext/debian/puppetmaster.preinst +0 -22
  1135. data/ext/debian/rules +0 -132
  1136. data/ext/debian/source/format +0 -1
  1137. data/ext/debian/source/options +0 -1
  1138. data/ext/debian/vim-puppet.README.Debian +0 -13
  1139. data/ext/debian/vim-puppet.dirs +0 -5
  1140. data/ext/debian/vim-puppet.yaml +0 -7
  1141. data/ext/debian/watch +0 -2
  1142. data/ext/envpuppet +0 -139
  1143. data/ext/envpuppet.bat +0 -14
  1144. data/ext/freebsd/puppetd +0 -26
  1145. data/ext/freebsd/puppetmasterd +0 -26
  1146. data/ext/gentoo/conf.d/puppet +0 -5
  1147. data/ext/gentoo/conf.d/puppetmaster +0 -12
  1148. data/ext/gentoo/init.d/puppet +0 -38
  1149. data/ext/gentoo/init.d/puppetmaster +0 -51
  1150. data/ext/gentoo/puppet/fileserver.conf +0 -41
  1151. data/ext/ips/puppet-agent +0 -44
  1152. data/ext/ips/puppet-master +0 -44
  1153. data/ext/ips/puppet.p5m.erb +0 -12
  1154. data/ext/ips/puppetagent.xml +0 -42
  1155. data/ext/ips/puppetmaster.xml +0 -42
  1156. data/ext/ips/rules +0 -19
  1157. data/ext/ips/transforms +0 -34
  1158. data/ext/ldap/puppet.schema +0 -24
  1159. data/ext/logcheck/puppet +0 -23
  1160. data/ext/nagios/check_puppet.rb +0 -123
  1161. data/ext/osx/file_mapping.yaml +0 -33
  1162. data/ext/osx/postflight.erb +0 -109
  1163. data/ext/osx/preflight.erb +0 -52
  1164. data/ext/osx/prototype.plist.erb +0 -38
  1165. data/ext/puppet-test +0 -476
  1166. data/ext/pure_ruby_dsl/dsl_test.rb +0 -7
  1167. data/ext/redhat/fileserver.conf +0 -41
  1168. data/ext/redhat/logrotate +0 -21
  1169. data/ext/redhat/puppet.spec.erb +0 -842
  1170. data/ext/redhat/server.init +0 -128
  1171. data/ext/redhat/server.sysconfig +0 -13
  1172. data/ext/regexp_nodes/regexp_nodes.rb +0 -270
  1173. data/ext/solaris/pkginfo +0 -6
  1174. data/ext/solaris/smf/puppetd.xml +0 -77
  1175. data/ext/solaris/smf/puppetmasterd.xml +0 -77
  1176. data/ext/solaris/smf/svc-puppetd +0 -71
  1177. data/ext/solaris/smf/svc-puppetmasterd +0 -67
  1178. data/ext/suse/puppet.spec +0 -310
  1179. data/ext/suse/server.init +0 -173
  1180. data/ext/upload_facts.rb +0 -119
  1181. data/ext/windows/eventlog/Rakefile +0 -32
  1182. data/ext/windows/eventlog/puppetres.dll +0 -0
  1183. data/ext/windows/eventlog/puppetres.mc +0 -18
  1184. data/ext/yaml_nodes.rb +0 -105
  1185. data/lib/puppet/application/cert.rb +0 -76
  1186. data/lib/puppet/application/key.rb +0 -4
  1187. data/lib/puppet/application/man.rb +0 -4
  1188. data/lib/puppet/application/status.rb +0 -4
  1189. data/lib/puppet/external/pson/common.rb +0 -374
  1190. data/lib/puppet/external/pson/pure/generator.rb +0 -395
  1191. data/lib/puppet/external/pson/pure/parser.rb +0 -307
  1192. data/lib/puppet/external/pson/pure.rb +0 -15
  1193. data/lib/puppet/external/pson/version.rb +0 -8
  1194. data/lib/puppet/face/key.rb +0 -16
  1195. data/lib/puppet/face/man.rb +0 -145
  1196. data/lib/puppet/face/module/build.rb +0 -14
  1197. data/lib/puppet/face/module/generate.rb +0 -14
  1198. data/lib/puppet/face/module/search.rb +0 -98
  1199. data/lib/puppet/face/status.rb +0 -51
  1200. data/lib/puppet/indirector/certificate/file.rb +0 -8
  1201. data/lib/puppet/indirector/certificate/rest.rb +0 -16
  1202. data/lib/puppet/indirector/certificate_request/file.rb +0 -8
  1203. data/lib/puppet/indirector/certificate_request/memory.rb +0 -6
  1204. data/lib/puppet/indirector/certificate_request/rest.rb +0 -10
  1205. data/lib/puppet/indirector/file_content/http.rb +0 -17
  1206. data/lib/puppet/indirector/key/file.rb +0 -45
  1207. data/lib/puppet/indirector/key/memory.rb +0 -6
  1208. data/lib/puppet/indirector/ssl_file.rb +0 -160
  1209. data/lib/puppet/indirector/status/local.rb +0 -12
  1210. data/lib/puppet/indirector/status/rest.rb +0 -9
  1211. data/lib/puppet/indirector/status.rb +0 -3
  1212. data/lib/puppet/module_tool/applications/searcher.rb +0 -29
  1213. data/lib/puppet/network/auth_config_parser.rb +0 -90
  1214. data/lib/puppet/network/authstore.rb +0 -282
  1215. data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
  1216. data/lib/puppet/network/http/api/master/v3/environment.rb +0 -85
  1217. data/lib/puppet/network/http/compression.rb +0 -120
  1218. data/lib/puppet/network/http/factory.rb +0 -55
  1219. data/lib/puppet/network/http/nocache_pool.rb +0 -21
  1220. data/lib/puppet/network/http/pool.rb +0 -129
  1221. data/lib/puppet/network/http/session.rb +0 -17
  1222. data/lib/puppet/network/http/site.rb +0 -39
  1223. data/lib/puppet/network/resolver.rb +0 -158
  1224. data/lib/puppet/network/rest_controller.rb +0 -2
  1225. data/lib/puppet/network/rights.rb +0 -209
  1226. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -64
  1227. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -20
  1228. data/lib/puppet/parser/environment_compiler.rb +0 -199
  1229. data/lib/puppet/pops/loader/null_loader.rb +0 -60
  1230. data/lib/puppet/pops/types/enumeration.rb +0 -16
  1231. data/lib/puppet/resource/capability_finder.rb +0 -150
  1232. data/lib/puppet/rest/client.rb +0 -83
  1233. data/lib/puppet/rest/errors.rb +0 -14
  1234. data/lib/puppet/rest/response.rb +0 -34
  1235. data/lib/puppet/rest/route.rb +0 -84
  1236. data/lib/puppet/rest/routes.rb +0 -154
  1237. data/lib/puppet/rest/ssl_context.rb +0 -13
  1238. data/lib/puppet/ssl/host.rb +0 -636
  1239. data/lib/puppet/ssl/key.rb +0 -59
  1240. data/lib/puppet/ssl/validator/default_validator.rb +0 -187
  1241. data/lib/puppet/ssl/validator/no_validator.rb +0 -20
  1242. data/lib/puppet/ssl/validator.rb +0 -60
  1243. data/lib/puppet/status.rb +0 -40
  1244. data/lib/puppet/util/connection.rb +0 -74
  1245. data/lib/puppet/util/ssl.rb +0 -92
  1246. data/lib/puppet/util/windows/api_types.rb +0 -282
  1247. data/lib/puppet/vendor/deep_merge/CHANGELOG +0 -45
  1248. data/lib/puppet/vendor/deep_merge/Gemfile +0 -3
  1249. data/lib/puppet/vendor/deep_merge/LICENSE +0 -21
  1250. data/lib/puppet/vendor/deep_merge/PUPPET_README.md +0 -6
  1251. data/lib/puppet/vendor/deep_merge/README.md +0 -113
  1252. data/lib/puppet/vendor/deep_merge/Rakefile +0 -19
  1253. data/lib/puppet/vendor/deep_merge/deep_merge.gemspec +0 -35
  1254. data/lib/puppet/vendor/deep_merge/lib/deep_merge/core.rb +0 -210
  1255. data/lib/puppet/vendor/deep_merge/lib/deep_merge/deep_merge_hash.rb +0 -28
  1256. data/lib/puppet/vendor/deep_merge/lib/deep_merge/rails_compat.rb +0 -27
  1257. data/lib/puppet/vendor/deep_merge/lib/deep_merge.rb +0 -2
  1258. data/lib/puppet/vendor/deep_merge/test/test_deep_merge.rb +0 -608
  1259. data/lib/puppet/vendor/load_deep_merge.rb +0 -1
  1260. data/lib/puppet/vendor/load_pathspec.rb +0 -1
  1261. data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
  1262. data/lib/puppet/vendor/pathspec/LICENSE +0 -201
  1263. data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
  1264. data/lib/puppet/vendor/pathspec/README.md +0 -53
  1265. data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
  1266. data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
  1267. data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
  1268. data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
  1269. data/locales/ja/puppet.po +0 -11143
  1270. data/man/man8/puppet-key.8 +0 -126
  1271. data/man/man8/puppet-man.8 +0 -76
  1272. data/man/man8/puppet-status.8 +0 -108
  1273. data/spec/fixtures/faulty_face/puppet/face/syntax.rb +0 -8
  1274. data/spec/fixtures/hiera.yaml +0 -9
  1275. data/spec/fixtures/integration/node/environment/sitedir/00_a.pp +0 -2
  1276. data/spec/fixtures/integration/node/environment/sitedir/01_b.pp +0 -6
  1277. data/spec/fixtures/integration/node/environment/sitedir/03_empty.pp +0 -0
  1278. data/spec/fixtures/integration/node/environment/sitedir/04_include.pp +0 -2
  1279. data/spec/fixtures/integration/node/environment/sitedir2/00_a.pp +0 -2
  1280. data/spec/fixtures/integration/node/environment/sitedir2/02_folder/01_b.pp +0 -6
  1281. data/spec/fixtures/integration/node/environment/sitedir2/03_c.pp +0 -1
  1282. data/spec/fixtures/integration/node/environment/sitedir2/04_include.pp +0 -2
  1283. data/spec/fixtures/java.tgz +0 -0
  1284. data/spec/fixtures/manifests/site.pp +0 -0
  1285. data/spec/fixtures/module.tar.gz +0 -0
  1286. data/spec/fixtures/releases/jamtur01-apache/Modulefile +0 -2
  1287. data/spec/fixtures/releases/jamtur01-apache/files/httpd +0 -24
  1288. data/spec/fixtures/releases/jamtur01-apache/files/test.vhost +0 -18
  1289. data/spec/fixtures/releases/jamtur01-apache/lib/puppet/provider/a2mod/debian.rb +0 -21
  1290. data/spec/fixtures/releases/jamtur01-apache/lib/puppet/type/a2mod.rb +0 -12
  1291. data/spec/fixtures/releases/jamtur01-apache/manifests/dev.pp +0 -5
  1292. data/spec/fixtures/releases/jamtur01-apache/manifests/init.pp +0 -34
  1293. data/spec/fixtures/releases/jamtur01-apache/manifests/params.pp +0 -17
  1294. data/spec/fixtures/releases/jamtur01-apache/manifests/php.pp +0 -5
  1295. data/spec/fixtures/releases/jamtur01-apache/manifests/ssl.pp +0 -15
  1296. data/spec/fixtures/releases/jamtur01-apache/manifests/vhost.pp +0 -15
  1297. data/spec/fixtures/releases/jamtur01-apache/metadata.json +0 -1
  1298. data/spec/fixtures/releases/jamtur01-apache/templates/vhost-default.conf.erb +0 -20
  1299. data/spec/fixtures/releases/jamtur01-apache/tests/apache.pp +0 -1
  1300. data/spec/fixtures/releases/jamtur01-apache/tests/dev.pp +0 -1
  1301. data/spec/fixtures/releases/jamtur01-apache/tests/init.pp +0 -1
  1302. data/spec/fixtures/releases/jamtur01-apache/tests/php.pp +0 -1
  1303. data/spec/fixtures/releases/jamtur01-apache/tests/ssl.pp +0 -1
  1304. data/spec/fixtures/releases/jamtur01-apache/tests/vhost.pp +0 -2
  1305. data/spec/fixtures/stdlib.tgz +0 -0
  1306. data/spec/fixtures/unit/application/environments/production/data/common.yaml +0 -24
  1307. data/spec/fixtures/unit/application/environments/production/environment.conf +0 -1
  1308. data/spec/fixtures/unit/application/environments/production/manifests/site.pp +0 -1
  1309. data/spec/fixtures/unit/application/environments/puppet_func_provider/environment.conf +0 -1
  1310. data/spec/fixtures/unit/application/environments/puppet_func_provider/functions/environment/data.pp +0 -10
  1311. data/spec/fixtures/unit/application/environments/puppet_func_provider/manifests/site.pp +0 -1
  1312. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/data/bad.json +0 -3
  1313. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/environment.conf +0 -2
  1314. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/hiera.yaml +0 -5
  1315. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/manifests/site.pp +0 -5
  1316. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/data/bad.yaml +0 -3
  1317. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/environment.conf +0 -2
  1318. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/hiera.yaml +0 -5
  1319. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/manifests/site.pp +0 -5
  1320. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/data/common.yaml +0 -2
  1321. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/environment.conf +0 -2
  1322. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/manifests/site.pp +0 -1
  1323. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/data/common.yaml +0 -2
  1324. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/manifests/init.pp +0 -5
  1325. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/metadata.json +0 -9
  1326. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/first.json +0 -3
  1327. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/name.yaml +0 -2
  1328. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/second.json +0 -3
  1329. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/single.yaml +0 -2
  1330. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/third_utf8.json +0 -3
  1331. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/utf8.yaml +0 -3
  1332. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data2/single.yaml +0 -2
  1333. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/environment.conf +0 -2
  1334. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/hiera.yaml +0 -22
  1335. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/manifests/site.pp +0 -5
  1336. data/spec/fixtures/unit/data_providers/environments/hiera_misc/data/common.yaml +0 -48
  1337. data/spec/fixtures/unit/data_providers/environments/hiera_misc/environment.conf +0 -2
  1338. data/spec/fixtures/unit/data_providers/environments/hiera_misc/manifests/site.pp +0 -1
  1339. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/data/common.yaml +0 -30
  1340. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/manifests/init.pp +0 -13
  1341. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/metadata.json +0 -9
  1342. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/data/common.yaml +0 -4
  1343. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/data/specific.yaml +0 -4
  1344. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/environment.conf +0 -2
  1345. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/hiera.yaml +0 -7
  1346. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/manifests/site.pp +0 -1
  1347. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/first.json +0 -3
  1348. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/name.yaml +0 -2
  1349. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/second.json +0 -3
  1350. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/server1.yaml +0 -1
  1351. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/server2.yaml +0 -1
  1352. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/single.yaml +0 -2
  1353. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data2/single.yaml +0 -2
  1354. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/hiera.yaml +0 -20
  1355. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/manifests/init.pp +0 -5
  1356. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/metadata.json +0 -9
  1357. data/spec/fixtures/unit/data_providers/environments/hiera_modules/data/common.yaml +0 -4
  1358. data/spec/fixtures/unit/data_providers/environments/hiera_modules/data/specific.yaml +0 -4
  1359. data/spec/fixtures/unit/data_providers/environments/hiera_modules/environment.conf +0 -2
  1360. data/spec/fixtures/unit/data_providers/environments/hiera_modules/hiera.yaml +0 -7
  1361. data/spec/fixtures/unit/data_providers/environments/hiera_modules/manifests/site.pp +0 -1
  1362. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/data/common.yaml +0 -6
  1363. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/hiera.yaml +0 -5
  1364. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/manifests/init.pp +0 -2
  1365. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/metadata.json +0 -9
  1366. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/data/common.yaml +0 -4
  1367. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/hiera.yaml +0 -5
  1368. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/manifests/init.pp +0 -3
  1369. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/metadata.json +0 -9
  1370. data/spec/fixtures/unit/data_providers/environments/production/environment.conf +0 -2
  1371. data/spec/fixtures/unit/data_providers/environments/production/lib/puppet/functions/environment/data.rb +0 -9
  1372. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +0 -9
  1373. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/manifests/init.pp +0 -10
  1374. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/metadata.json +0 -9
  1375. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/functions/data.pp +0 -6
  1376. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/manifests/init.pp +0 -9
  1377. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/metadata.json +0 -9
  1378. data/spec/fixtures/unit/functions/hiera/hiera/backend/hieraspec_backend.rb +0 -22
  1379. data/spec/fixtures/unit/functions/lookup/data/common.yaml +0 -19
  1380. data/spec/fixtures/unit/functions/lookup/hiera/backend/custom_backend.rb +0 -18
  1381. data/spec/fixtures/unit/functions/lookup/hiera/backend/other_backend.rb +0 -7
  1382. data/spec/fixtures/unit/functions/lookup_fixture/data/common.yaml +0 -19
  1383. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/environment.conf +0 -2
  1384. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/lib/puppet/functions/environment/data.rb +0 -13
  1385. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +0 -9
  1386. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/manifests/init.pp +0 -8
  1387. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/metadata.json +0 -9
  1388. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/lib/puppet/functions/bad_data/data.rb +0 -7
  1389. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/manifests/init.pp +0 -2
  1390. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/metadata.json +0 -9
  1391. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/lib/puppet/functions/bca/data.rb +0 -9
  1392. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/manifests/init.pp +0 -2
  1393. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/metadata.json +0 -9
  1394. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/data/empty.json +0 -0
  1395. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/hiera.yaml +0 -5
  1396. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/manifests/init.pp +0 -2
  1397. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/metadata.json +0 -9
  1398. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/data/empty_key.json +0 -1
  1399. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/hiera.yaml +0 -5
  1400. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/manifests/init.pp +0 -2
  1401. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/metadata.json +0 -9
  1402. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/data/empty_key.yaml +0 -1
  1403. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/hiera.yaml +0 -5
  1404. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/manifests/init.pp +0 -2
  1405. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/metadata.json +0 -9
  1406. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/data/empty.yaml +0 -2
  1407. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/hiera.yaml +0 -5
  1408. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/manifests/init.pp +0 -2
  1409. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/metadata.json +0 -9
  1410. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/data/first.json +0 -4
  1411. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/hiera.yaml +0 -8
  1412. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/manifests/init.pp +0 -5
  1413. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/metadata.json +0 -9
  1414. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/lib/puppet/functions/meta/data.rb +0 -9
  1415. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/manifests/init.pp +0 -3
  1416. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/metadata.json +0 -9
  1417. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/no_provider/manifests/init.pp +0 -2
  1418. data/spec/fixtures/unit/indirector/data_binding/hiera/global.yaml +0 -10
  1419. data/spec/fixtures/unit/indirector/data_binding/hiera/invalid.yaml +0 -1
  1420. data/spec/fixtures/unit/indirector/hiera/global.yaml +0 -10
  1421. data/spec/fixtures/unit/indirector/hiera/invalid.yaml +0 -1
  1422. data/spec/fixtures/unit/module/trailing-comma.json +0 -24
  1423. data/spec/fixtures/unit/parser/functions/create_resources/foo/manifests/init.pp +0 -3
  1424. data/spec/fixtures/unit/parser/functions/create_resources/foo/manifests/wrongdefine.pp +0 -3
  1425. data/spec/fixtures/unit/parser/lexer/aliastest.pp +0 -16
  1426. data/spec/fixtures/unit/parser/lexer/append.pp +0 -11
  1427. data/spec/fixtures/unit/parser/lexer/argumentdefaults.pp +0 -14
  1428. data/spec/fixtures/unit/parser/lexer/arithmetic_expression.pp +0 -8
  1429. data/spec/fixtures/unit/parser/lexer/arraytrailingcomma.pp +0 -3
  1430. data/spec/fixtures/unit/parser/lexer/casestatement.pp +0 -65
  1431. data/spec/fixtures/unit/parser/lexer/classheirarchy.pp +0 -15
  1432. data/spec/fixtures/unit/parser/lexer/classincludes.pp +0 -17
  1433. data/spec/fixtures/unit/parser/lexer/classpathtest.pp +0 -11
  1434. data/spec/fixtures/unit/parser/lexer/collection.pp +0 -10
  1435. data/spec/fixtures/unit/parser/lexer/collection_override.pp +0 -8
  1436. data/spec/fixtures/unit/parser/lexer/collection_within_virtual_definitions.pp +0 -20
  1437. data/spec/fixtures/unit/parser/lexer/componentmetaparams.pp +0 -11
  1438. data/spec/fixtures/unit/parser/lexer/componentrequire.pp +0 -8
  1439. data/spec/fixtures/unit/parser/lexer/deepclassheirarchy.pp +0 -23
  1440. data/spec/fixtures/unit/parser/lexer/defineoverrides.pp +0 -17
  1441. data/spec/fixtures/unit/parser/lexer/emptyclass.pp +0 -9
  1442. data/spec/fixtures/unit/parser/lexer/emptyexec.pp +0 -3
  1443. data/spec/fixtures/unit/parser/lexer/emptyifelse.pp +0 -9
  1444. data/spec/fixtures/unit/parser/lexer/falsevalues.pp +0 -3
  1445. data/spec/fixtures/unit/parser/lexer/filecreate.pp +0 -11
  1446. data/spec/fixtures/unit/parser/lexer/fqdefinition.pp +0 -5
  1447. data/spec/fixtures/unit/parser/lexer/fqparents.pp +0 -11
  1448. data/spec/fixtures/unit/parser/lexer/funccomma.pp +0 -5
  1449. data/spec/fixtures/unit/parser/lexer/hash.pp +0 -33
  1450. data/spec/fixtures/unit/parser/lexer/ifexpression.pp +0 -12
  1451. data/spec/fixtures/unit/parser/lexer/implicititeration.pp +0 -15
  1452. data/spec/fixtures/unit/parser/lexer/multilinecomments.pp +0 -10
  1453. data/spec/fixtures/unit/parser/lexer/multipleclass.pp +0 -9
  1454. data/spec/fixtures/unit/parser/lexer/multipleinstances.pp +0 -7
  1455. data/spec/fixtures/unit/parser/lexer/multisubs.pp +0 -13
  1456. data/spec/fixtures/unit/parser/lexer/namevartest.pp +0 -9
  1457. data/spec/fixtures/unit/parser/lexer/scopetest.pp +0 -13
  1458. data/spec/fixtures/unit/parser/lexer/selectorvalues.pp +0 -49
  1459. data/spec/fixtures/unit/parser/lexer/simpledefaults.pp +0 -5
  1460. data/spec/fixtures/unit/parser/lexer/simpleselector.pp +0 -38
  1461. data/spec/fixtures/unit/parser/lexer/singleary.pp +0 -19
  1462. data/spec/fixtures/unit/parser/lexer/singlequote.pp +0 -11
  1463. data/spec/fixtures/unit/parser/lexer/singleselector.pp +0 -22
  1464. data/spec/fixtures/unit/parser/lexer/subclass_name_duplication.pp +0 -11
  1465. data/spec/fixtures/unit/parser/lexer/tag.pp +0 -9
  1466. data/spec/fixtures/unit/parser/lexer/tagged.pp +0 -35
  1467. data/spec/fixtures/unit/parser/lexer/virtualresources.pp +0 -14
  1468. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/binder_config.yaml +0 -10
  1469. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/lib/puppet/bindings/confdirtest.rb +0 -10
  1470. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet/bindings/awesome2/default.rb +0 -20
  1471. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet_x/awesome2/echo_scheme_handler.rb +0 -18
  1472. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/bad/lib/puppet/bindings/bad/default.rb +0 -5
  1473. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/good/lib/puppet/bindings/good/default.rb +0 -6
  1474. data/spec/fixtures/unit/pops/binder/config/binder_config/nolayer/binder_config.yaml +0 -6
  1475. data/spec/fixtures/unit/pops/binder/config/binder_config/ok/binder_config.yaml +0 -9
  1476. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/functions/usee_puppet.pp +0 -3
  1477. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/callee.rb +0 -5
  1478. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/usee_ruby.rb +0 -6
  1479. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/type/usee_type.rb +0 -5
  1480. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/manifests/init.pp +0 -8
  1481. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/types/zero.pp +0 -1
  1482. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee2/lib/puppet/functions/usee2/callee.rb +0 -5
  1483. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet.pp +0 -5
  1484. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet_init.pp +0 -5
  1485. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_ruby.pp +0 -5
  1486. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/caller.rb +0 -5
  1487. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/caller2.rb +0 -5
  1488. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_puppet.rb +0 -5
  1489. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_puppet_init.rb +0 -5
  1490. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_ruby.rb +0 -5
  1491. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/manifests/init.pp +0 -87
  1492. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/metadata.json +0 -10
  1493. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/types/withuseeone.pp +0 -1
  1494. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/types/withuseezero.pp +0 -1
  1495. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load.rb +0 -11
  1496. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/callee.rb +0 -8
  1497. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/callee_ws.rb +0 -8
  1498. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/metadata.json +0 -9
  1499. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcalled.pp +0 -3
  1500. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcaller.pp +0 -3
  1501. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcaller4.pp +0 -3
  1502. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/caller.rb +0 -5
  1503. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/caller_ws.rb +0 -12
  1504. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/callingpuppet.rb +0 -5
  1505. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/metadata.json +0 -9
  1506. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/functions/hello.pp +0 -3
  1507. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/manifests/init.pp +0 -3
  1508. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/metadata.json +0 -10
  1509. data/spec/fixtures/unit/pops/loaders/loaders/no_modules/manifests/site.pp +0 -10
  1510. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/hello.pp +0 -3
  1511. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/subspace/hello.pp +0 -3
  1512. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/lib/puppet/functions/modulea/rb_func_a.rb +0 -5
  1513. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/lib/puppet/functions/rb_func_a.rb +0 -5
  1514. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/manifests/init.pp +0 -3
  1515. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/metadata.json +0 -10
  1516. data/spec/fixtures/unit/pops/loaders/loaders/wo_metadata_module/modules/moduleb/lib/puppet/functions/moduleb/rb_func_b.rb +0 -6
  1517. data/spec/fixtures/unit/pops/loaders/loaders/wo_metadata_module/modules/moduleb/manifests/init.pp +0 -3
  1518. data/spec/fixtures/unit/pops/parser/lexer/aliastest.pp +0 -16
  1519. data/spec/fixtures/unit/pops/parser/lexer/append.pp +0 -11
  1520. data/spec/fixtures/unit/pops/parser/lexer/argumentdefaults.pp +0 -14
  1521. data/spec/fixtures/unit/pops/parser/lexer/arithmetic_expression.pp +0 -8
  1522. data/spec/fixtures/unit/pops/parser/lexer/arraytrailingcomma.pp +0 -3
  1523. data/spec/fixtures/unit/pops/parser/lexer/casestatement.pp +0 -65
  1524. data/spec/fixtures/unit/pops/parser/lexer/classheirarchy.pp +0 -15
  1525. data/spec/fixtures/unit/pops/parser/lexer/classincludes.pp +0 -17
  1526. data/spec/fixtures/unit/pops/parser/lexer/classpathtest.pp +0 -11
  1527. data/spec/fixtures/unit/pops/parser/lexer/collection.pp +0 -10
  1528. data/spec/fixtures/unit/pops/parser/lexer/collection_override.pp +0 -8
  1529. data/spec/fixtures/unit/pops/parser/lexer/collection_within_virtual_definitions.pp +0 -20
  1530. data/spec/fixtures/unit/pops/parser/lexer/componentmetaparams.pp +0 -11
  1531. data/spec/fixtures/unit/pops/parser/lexer/componentrequire.pp +0 -8
  1532. data/spec/fixtures/unit/pops/parser/lexer/deepclassheirarchy.pp +0 -23
  1533. data/spec/fixtures/unit/pops/parser/lexer/defineoverrides.pp +0 -17
  1534. data/spec/fixtures/unit/pops/parser/lexer/emptyclass.pp +0 -9
  1535. data/spec/fixtures/unit/pops/parser/lexer/emptyexec.pp +0 -3
  1536. data/spec/fixtures/unit/pops/parser/lexer/emptyifelse.pp +0 -9
  1537. data/spec/fixtures/unit/pops/parser/lexer/falsevalues.pp +0 -3
  1538. data/spec/fixtures/unit/pops/parser/lexer/filecreate.pp +0 -11
  1539. data/spec/fixtures/unit/pops/parser/lexer/fqdefinition.pp +0 -5
  1540. data/spec/fixtures/unit/pops/parser/lexer/fqparents.pp +0 -11
  1541. data/spec/fixtures/unit/pops/parser/lexer/funccomma.pp +0 -5
  1542. data/spec/fixtures/unit/pops/parser/lexer/hash.pp +0 -33
  1543. data/spec/fixtures/unit/pops/parser/lexer/ifexpression.pp +0 -12
  1544. data/spec/fixtures/unit/pops/parser/lexer/implicititeration.pp +0 -15
  1545. data/spec/fixtures/unit/pops/parser/lexer/multilinecomments.pp +0 -10
  1546. data/spec/fixtures/unit/pops/parser/lexer/multipleclass.pp +0 -9
  1547. data/spec/fixtures/unit/pops/parser/lexer/multipleinstances.pp +0 -7
  1548. data/spec/fixtures/unit/pops/parser/lexer/multisubs.pp +0 -13
  1549. data/spec/fixtures/unit/pops/parser/lexer/namevartest.pp +0 -9
  1550. data/spec/fixtures/unit/pops/parser/lexer/scopetest.pp +0 -13
  1551. data/spec/fixtures/unit/pops/parser/lexer/selectorvalues.pp +0 -49
  1552. data/spec/fixtures/unit/pops/parser/lexer/simpledefaults.pp +0 -5
  1553. data/spec/fixtures/unit/pops/parser/lexer/simpleselector.pp +0 -38
  1554. data/spec/fixtures/unit/pops/parser/lexer/singleary.pp +0 -19
  1555. data/spec/fixtures/unit/pops/parser/lexer/singlequote.pp +0 -11
  1556. data/spec/fixtures/unit/pops/parser/lexer/singleselector.pp +0 -22
  1557. data/spec/fixtures/unit/pops/parser/lexer/subclass_name_duplication.pp +0 -11
  1558. data/spec/fixtures/unit/pops/parser/lexer/tag.pp +0 -9
  1559. data/spec/fixtures/unit/pops/parser/lexer/tagged.pp +0 -35
  1560. data/spec/fixtures/unit/pops/parser/lexer/virtualresources.pp +0 -14
  1561. data/spec/fixtures/unit/provider/aix_object/aix_colon_list_real_world_input.out +0 -1
  1562. data/spec/fixtures/unit/provider/aix_object/aix_colon_list_real_world_output.out +0 -1
  1563. data/spec/fixtures/unit/provider/cron/crontab/single_line.yaml +0 -272
  1564. data/spec/fixtures/unit/provider/cron/crontab/vixie_header.txt +0 -3
  1565. data/spec/fixtures/unit/provider/cron/parsed/managed +0 -6
  1566. data/spec/fixtures/unit/provider/cron/parsed/simple +0 -9
  1567. data/spec/fixtures/unit/provider/package/gem/gem-list-single-package +0 -4
  1568. data/spec/fixtures/unit/provider/package/gem/line-with-1.8.5-warning +0 -14
  1569. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.detail +0 -19
  1570. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.list +0 -10
  1571. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.query +0 -1
  1572. data/spec/fixtures/unit/provider/package/openbsd/pkginfo_flavors.list +0 -2
  1573. data/spec/fixtures/unit/provider/package/pkg/dummy_implicit_version +0 -3
  1574. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris10 +0 -1
  1575. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.certificate_warning +0 -2
  1576. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.installed +0 -1
  1577. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.known +0 -1
  1578. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.installed +0 -1
  1579. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.known +0 -1
  1580. data/spec/fixtures/unit/provider/package/pkg/incomplete +0 -1
  1581. data/spec/fixtures/unit/provider/package/pkg/solaris11 +0 -2
  1582. data/spec/fixtures/unit/provider/package/pkg/unknown_status +0 -12
  1583. data/spec/fixtures/unit/provider/package/pkgng/pkg.info +0 -7
  1584. data/spec/fixtures/unit/provider/package/pkgng/pkg.query +0 -1
  1585. data/spec/fixtures/unit/provider/package/pkgng/pkg.query_absent +0 -1
  1586. data/spec/fixtures/unit/provider/package/pkgng/pkg.version +0 -3
  1587. data/spec/fixtures/unit/provider/package/sun/dummy.server +0 -12
  1588. data/spec/fixtures/unit/provider/package/sun/simple +0 -24
  1589. data/spec/fixtures/unit/provider/package/yum/yum-check-update-broken-notices.txt +0 -187
  1590. data/spec/fixtures/unit/provider/package/yum/yum-check-update-multiline.txt +0 -201
  1591. data/spec/fixtures/unit/provider/package/yum/yum-check-update-obsoletes.txt +0 -195
  1592. data/spec/fixtures/unit/provider/package/yum/yum-check-update-plugin-output.txt +0 -36
  1593. data/spec/fixtures/unit/provider/package/yum/yum-check-update-security.txt +0 -184
  1594. data/spec/fixtures/unit/provider/package/yum/yum-check-update-simple.txt +0 -13
  1595. data/spec/fixtures/unit/provider/package/zypper/zypper-list-updates-SLES11sp1.out +0 -369
  1596. data/spec/fixtures/unit/provider/package/zypper/zypper-list-updates-empty.out +0 -3
  1597. data/spec/fixtures/unit/provider/parsedfile/simple.txt +0 -7
  1598. data/spec/fixtures/unit/provider/service/base/ps_ef.mixed_encoding +0 -3
  1599. data/spec/fixtures/unit/provider/service/gentoo/rc_update_show +0 -30
  1600. data/spec/fixtures/unit/provider/service/openbsd/rcctl_getall +0 -6
  1601. data/spec/fixtures/unit/provider/service/openrc/rcservice_list +0 -8
  1602. data/spec/fixtures/unit/provider/service/openrc/rcstatus +0 -43
  1603. data/spec/fixtures/unit/provider/service/smf/svcs.out +0 -4
  1604. data/spec/fixtures/unit/provider/service/smf/svcs_fmri.out +0 -6
  1605. data/spec/fixtures/unit/provider/service/smf/svcs_multiple_fmris.out +0 -13
  1606. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services +0 -7
  1607. data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +0 -32
  1608. data/spec/fixtures/unit/reports/tagmail/tagmail_email.conf +0 -2
  1609. data/spec/fixtures/unit/reports/tagmail/tagmail_failers.conf +0 -3
  1610. data/spec/fixtures/unit/reports/tagmail/tagmail_passers.conf +0 -30
  1611. data/spec/fixtures/unit/ssl/certificate/old-style-cert-exts.pem +0 -33
  1612. data/spec/fixtures/unit/ssl/certificate_request/old-style-cert-request.pem +0 -28
  1613. data/spec/fixtures/unit/type/user/authorized_keys +0 -6
  1614. data/spec/fixtures/unit/util/filetype/aixtab_output +0 -44
  1615. data/spec/fixtures/unit/util/filetype/suntab_output +0 -9
  1616. data/spec/fixtures/unit/util/monkey_patches/x509.pem +0 -32
  1617. data/spec/fixtures/unit/util/rdoc/basic.pp +0 -16
  1618. data/spec/fixtures/vcr/cassettes/Puppet_Network_HTTP_Connection/when_handling_requests/_request_get/should_yield_to_the_block.yml +0 -24
  1619. data/spec/fixtures/vcr/cassettes/Puppet_Network_HTTP_Connection/when_handling_requests/_request_head/should_yield_to_the_block.yml +0 -24
  1620. data/spec/fixtures/vcr/cassettes/Puppet_Network_HTTP_Connection/when_handling_requests/_request_post/should_yield_to_the_block.yml +0 -24
  1621. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_fetch_if_not_on_the_local_disk.yml +0 -205
  1622. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_not_update_if_content_on_disk_is_up-to-date.yml +0 -213
  1623. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_update_if_content_differs_on_disk.yml +0 -213
  1624. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_mtime_is_older_on_disk.yml +0 -205
  1625. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_no_header_specified.yml +0 -197
  1626. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_not_on_the_local_disk.yml +0 -205
  1627. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_not_update_if_mtime_is_newer_on_disk.yml +0 -205
  1628. data/spec/fixtures/yaml/report2.6.x.yaml +0 -190
  1629. data/spec/fixtures/yaml/test.local.yaml +0 -16
  1630. data/spec/integration/agent/logging_spec.rb +0 -181
  1631. data/spec/integration/application/apply_spec.rb +0 -535
  1632. data/spec/integration/application/doc_spec.rb +0 -15
  1633. data/spec/integration/application/lookup_spec.rb +0 -176
  1634. data/spec/integration/configurer_spec.rb +0 -64
  1635. data/spec/integration/data_binding_spec.rb +0 -196
  1636. data/spec/integration/defaults_spec.rb +0 -254
  1637. data/spec/integration/directory_environments_spec.rb +0 -67
  1638. data/spec/integration/environments/default_manifest_spec.rb +0 -215
  1639. data/spec/integration/environments/setting_hooks_spec.rb +0 -27
  1640. data/spec/integration/environments/settings_interpolation_spec.rb +0 -110
  1641. data/spec/integration/environments/settings_spec.rb +0 -128
  1642. data/spec/integration/faces/config_spec.rb +0 -92
  1643. data/spec/integration/faces/documentation_spec.rb +0 -58
  1644. data/spec/integration/faces/plugin_spec.rb +0 -61
  1645. data/spec/integration/file_bucket/file_spec.rb +0 -52
  1646. data/spec/integration/file_serving/content_spec.rb +0 -8
  1647. data/spec/integration/file_serving/fileset_spec.rb +0 -13
  1648. data/spec/integration/file_serving/metadata_spec.rb +0 -9
  1649. data/spec/integration/file_serving/terminus_helper_spec.rb +0 -21
  1650. data/spec/integration/file_system/uniquefile_spec.rb +0 -26
  1651. data/spec/integration/indirector/catalog/compiler_spec.rb +0 -76
  1652. data/spec/integration/indirector/direct_file_server_spec.rb +0 -92
  1653. data/spec/integration/indirector/facts/facter_spec.rb +0 -109
  1654. data/spec/integration/indirector/file_content/file_server_spec.rb +0 -109
  1655. data/spec/integration/indirector/file_metadata/file_server_spec.rb +0 -78
  1656. data/spec/integration/module_tool/tar/mini_spec.rb +0 -28
  1657. data/spec/integration/network/authconfig_spec.rb +0 -257
  1658. data/spec/integration/network/formats_spec.rb +0 -91
  1659. data/spec/integration/network/http/api/indirected_routes_spec.rb +0 -60
  1660. data/spec/integration/node/environment_spec.rb +0 -156
  1661. data/spec/integration/node/facts_spec.rb +0 -41
  1662. data/spec/integration/node_spec.rb +0 -78
  1663. data/spec/integration/parser/catalog_spec.rb +0 -110
  1664. data/spec/integration/parser/class_spec.rb +0 -33
  1665. data/spec/integration/parser/collection_spec.rb +0 -353
  1666. data/spec/integration/parser/compiler_spec.rb +0 -1199
  1667. data/spec/integration/parser/conditionals_spec.rb +0 -92
  1668. data/spec/integration/parser/dynamic_scoping_spec.rb +0 -66
  1669. data/spec/integration/parser/environment_spec.rb +0 -47
  1670. data/spec/integration/parser/node_spec.rb +0 -172
  1671. data/spec/integration/parser/parameter_defaults_spec.rb +0 -358
  1672. data/spec/integration/parser/pcore_resource_spec.rb +0 -260
  1673. data/spec/integration/parser/resource_expressions_spec.rb +0 -222
  1674. data/spec/integration/parser/scope_spec.rb +0 -728
  1675. data/spec/integration/parser/script_compiler_spec.rb +0 -113
  1676. data/spec/integration/parser/undef_param_spec.rb +0 -95
  1677. data/spec/integration/provider/service/init_spec.rb +0 -48
  1678. data/spec/integration/provider/service/systemd_spec.rb +0 -24
  1679. data/spec/integration/provider/service/windows_spec.rb +0 -51
  1680. data/spec/integration/reference/providers_spec.rb +0 -22
  1681. data/spec/integration/reports_spec.rb +0 -14
  1682. data/spec/integration/resource/catalog_spec.rb +0 -50
  1683. data/spec/integration/resource/type_collection_spec.rb +0 -93
  1684. data/spec/integration/ssl/certificate_request_spec.rb +0 -45
  1685. data/spec/integration/ssl/host_spec.rb +0 -73
  1686. data/spec/integration/ssl/key_spec.rb +0 -100
  1687. data/spec/integration/test/test_helper_spec.rb +0 -32
  1688. data/spec/integration/transaction/report_spec.rb +0 -711
  1689. data/spec/integration/transaction_spec.rb +0 -559
  1690. data/spec/integration/type/exec_spec.rb +0 -77
  1691. data/spec/integration/type/file_spec.rb +0 -1965
  1692. data/spec/integration/type/package_spec.rb +0 -204
  1693. data/spec/integration/type/tidy_spec.rb +0 -46
  1694. data/spec/integration/type_spec.rb +0 -31
  1695. data/spec/integration/util/autoload_spec.rb +0 -105
  1696. data/spec/integration/util/execution_spec.rb +0 -55
  1697. data/spec/integration/util/rdoc/parser_spec.rb +0 -172
  1698. data/spec/integration/util/settings_spec.rb +0 -116
  1699. data/spec/integration/util/windows/adsi_spec.rb +0 -184
  1700. data/spec/integration/util/windows/principal_spec.rb +0 -259
  1701. data/spec/integration/util/windows/process_spec.rb +0 -112
  1702. data/spec/integration/util/windows/registry_spec.rb +0 -296
  1703. data/spec/integration/util/windows/security_spec.rb +0 -1012
  1704. data/spec/integration/util/windows/user_spec.rb +0 -167
  1705. data/spec/integration/util_spec.rb +0 -133
  1706. data/spec/lib/matchers/containment_matchers.rb +0 -52
  1707. data/spec/lib/matchers/include.rb +0 -27
  1708. data/spec/lib/matchers/include_in_order.rb +0 -20
  1709. data/spec/lib/matchers/include_in_order_spec.rb +0 -30
  1710. data/spec/lib/matchers/include_spec.rb +0 -32
  1711. data/spec/lib/matchers/json.rb +0 -132
  1712. data/spec/lib/matchers/match_tokens2.rb +0 -74
  1713. data/spec/lib/matchers/relationship_graph_matchers.rb +0 -48
  1714. data/spec/lib/matchers/resource.rb +0 -74
  1715. data/spec/lib/puppet/certificate_factory.rb +0 -218
  1716. data/spec/lib/puppet/face/1.0.0/huzzah.rb +0 -8
  1717. data/spec/lib/puppet/face/basetest.rb +0 -51
  1718. data/spec/lib/puppet/face/huzzah/obsolete.rb +0 -6
  1719. data/spec/lib/puppet/face/huzzah.rb +0 -8
  1720. data/spec/lib/puppet/face/version_matching.rb +0 -12
  1721. data/spec/lib/puppet/indirector/indirector_testing/json.rb +0 -6
  1722. data/spec/lib/puppet/indirector/indirector_testing/memory.rb +0 -7
  1723. data/spec/lib/puppet/indirector/indirector_testing/msgpack.rb +0 -6
  1724. data/spec/lib/puppet/indirector_proxy.rb +0 -34
  1725. data/spec/lib/puppet/indirector_testing.rb +0 -31
  1726. data/spec/lib/puppet/test_ca.rb +0 -109
  1727. data/spec/lib/puppet_spec/character_encoding.rb +0 -12
  1728. data/spec/lib/puppet_spec/compiler.rb +0 -112
  1729. data/spec/lib/puppet_spec/files.rb +0 -108
  1730. data/spec/lib/puppet_spec/fixtures.rb +0 -28
  1731. data/spec/lib/puppet_spec/handler.rb +0 -53
  1732. data/spec/lib/puppet_spec/language.rb +0 -75
  1733. data/spec/lib/puppet_spec/matchers.rb +0 -161
  1734. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +0 -56
  1735. data/spec/lib/puppet_spec/module_tool/stub_source.rb +0 -136
  1736. data/spec/lib/puppet_spec/modules.rb +0 -57
  1737. data/spec/lib/puppet_spec/network.rb +0 -109
  1738. data/spec/lib/puppet_spec/pops.rb +0 -29
  1739. data/spec/lib/puppet_spec/scope.rb +0 -14
  1740. data/spec/lib/puppet_spec/settings.rb +0 -32
  1741. data/spec/lib/puppet_spec/ssl.rb +0 -265
  1742. data/spec/lib/puppet_spec/unindent.rb +0 -5
  1743. data/spec/lib/puppet_spec/validators.rb +0 -37
  1744. data/spec/lib/puppet_spec/verbose.rb +0 -9
  1745. data/spec/shared_behaviours/all_parsedfile_providers.rb +0 -21
  1746. data/spec/shared_behaviours/an_indirector_face.rb +0 -6
  1747. data/spec/shared_behaviours/documentation_on_faces.rb +0 -263
  1748. data/spec/shared_behaviours/file_server_terminus.rb +0 -39
  1749. data/spec/shared_behaviours/file_serving.rb +0 -75
  1750. data/spec/shared_behaviours/file_serving_model.rb +0 -53
  1751. data/spec/shared_behaviours/hiera_indirections.rb +0 -99
  1752. data/spec/shared_behaviours/iterative_functions.rb +0 -69
  1753. data/spec/shared_behaviours/memory_terminus.rb +0 -28
  1754. data/spec/shared_behaviours/path_parameters.rb +0 -160
  1755. data/spec/shared_behaviours/store_configs_terminus.rb +0 -21
  1756. data/spec/shared_behaviours/things_that_declare_options.rb +0 -262
  1757. data/spec/shared_contexts/checksum.rb +0 -65
  1758. data/spec/shared_contexts/digests.rb +0 -100
  1759. data/spec/shared_contexts/types_setup.rb +0 -202
  1760. data/spec/shared_examples/rhel_package_provider.rb +0 -356
  1761. data/spec/spec_helper.rb +0 -205
  1762. data/spec/unit/agent/disabler_spec.rb +0 -64
  1763. data/spec/unit/agent/locker_spec.rb +0 -100
  1764. data/spec/unit/agent_spec.rb +0 -348
  1765. data/spec/unit/application/agent_spec.rb +0 -596
  1766. data/spec/unit/application/apply_spec.rb +0 -550
  1767. data/spec/unit/application/config_spec.rb +0 -13
  1768. data/spec/unit/application/describe_spec.rb +0 -98
  1769. data/spec/unit/application/device_spec.rb +0 -626
  1770. data/spec/unit/application/doc_spec.rb +0 -335
  1771. data/spec/unit/application/face_base_spec.rb +0 -453
  1772. data/spec/unit/application/facts_spec.rb +0 -23
  1773. data/spec/unit/application/filebucket_spec.rb +0 -307
  1774. data/spec/unit/application/indirection_base_spec.rb +0 -48
  1775. data/spec/unit/application/lookup_spec.rb +0 -570
  1776. data/spec/unit/application/resource_spec.rb +0 -195
  1777. data/spec/unit/application/ssl_spec.rb +0 -391
  1778. data/spec/unit/application_spec.rb +0 -695
  1779. data/spec/unit/capability_spec.rb +0 -414
  1780. data/spec/unit/certificate_factory_spec.rb +0 -172
  1781. data/spec/unit/configurer/downloader_spec.rb +0 -233
  1782. data/spec/unit/configurer/fact_handler_spec.rb +0 -152
  1783. data/spec/unit/configurer/plugin_handler_spec.rb +0 -64
  1784. data/spec/unit/configurer_spec.rb +0 -1062
  1785. data/spec/unit/confine/exists_spec.rb +0 -80
  1786. data/spec/unit/confine/false_spec.rb +0 -52
  1787. data/spec/unit/confine/feature_spec.rb +0 -57
  1788. data/spec/unit/confine/true_spec.rb +0 -52
  1789. data/spec/unit/confine/variable_spec.rb +0 -106
  1790. data/spec/unit/confine_collection_spec.rb +0 -133
  1791. data/spec/unit/confine_spec.rb +0 -93
  1792. data/spec/unit/confiner_spec.rb +0 -62
  1793. data/spec/unit/context/trusted_information_spec.rb +0 -155
  1794. data/spec/unit/context_spec.rb +0 -136
  1795. data/spec/unit/daemon_spec.rb +0 -262
  1796. data/spec/unit/data_binding_spec.rb +0 -11
  1797. data/spec/unit/data_providers/function_data_provider_spec.rb +0 -123
  1798. data/spec/unit/data_providers/hiera_data_provider_spec.rb +0 -361
  1799. data/spec/unit/datatypes_spec.rb +0 -353
  1800. data/spec/unit/defaults_spec.rb +0 -193
  1801. data/spec/unit/environments_spec.rb +0 -739
  1802. data/spec/unit/etc_spec.rb +0 -467
  1803. data/spec/unit/external/pson_spec.rb +0 -61
  1804. data/spec/unit/face/catalog_spec.rb +0 -7
  1805. data/spec/unit/face/config_spec.rb +0 -353
  1806. data/spec/unit/face/epp_face_spec.rb +0 -386
  1807. data/spec/unit/face/facts_spec.rb +0 -62
  1808. data/spec/unit/face/generate_spec.rb +0 -230
  1809. data/spec/unit/face/help_spec.rb +0 -209
  1810. data/spec/unit/face/key_spec.rb +0 -10
  1811. data/spec/unit/face/man_spec.rb +0 -26
  1812. data/spec/unit/face/module/install_spec.rb +0 -42
  1813. data/spec/unit/face/module/list_spec.rb +0 -240
  1814. data/spec/unit/face/module/search_spec.rb +0 -212
  1815. data/spec/unit/face/module/uninstall_spec.rb +0 -49
  1816. data/spec/unit/face/module/upgrade_spec.rb +0 -26
  1817. data/spec/unit/face/module_spec.rb +0 -3
  1818. data/spec/unit/face/node_spec.rb +0 -129
  1819. data/spec/unit/face/parser_spec.rb +0 -236
  1820. data/spec/unit/face/plugin_spec.rb +0 -81
  1821. data/spec/unit/face/status_spec.rb +0 -10
  1822. data/spec/unit/face_spec.rb +0 -1
  1823. data/spec/unit/file_bucket/dipper_spec.rb +0 -401
  1824. data/spec/unit/file_bucket/file_spec.rb +0 -60
  1825. data/spec/unit/file_serving/base_spec.rb +0 -165
  1826. data/spec/unit/file_serving/configuration/parser_spec.rb +0 -181
  1827. data/spec/unit/file_serving/configuration_spec.rb +0 -241
  1828. data/spec/unit/file_serving/content_spec.rb +0 -99
  1829. data/spec/unit/file_serving/fileset_spec.rb +0 -352
  1830. data/spec/unit/file_serving/http_metadata_spec.rb +0 -85
  1831. data/spec/unit/file_serving/metadata_spec.rb +0 -551
  1832. data/spec/unit/file_serving/mount/file_spec.rb +0 -189
  1833. data/spec/unit/file_serving/mount/locales_spec.rb +0 -73
  1834. data/spec/unit/file_serving/mount/modules_spec.rb +0 -70
  1835. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +0 -73
  1836. data/spec/unit/file_serving/mount/plugins_spec.rb +0 -73
  1837. data/spec/unit/file_serving/mount/tasks_spec.rb +0 -72
  1838. data/spec/unit/file_serving/mount_spec.rb +0 -31
  1839. data/spec/unit/file_serving/terminus_helper_spec.rb +0 -112
  1840. data/spec/unit/file_serving/terminus_selector_spec.rb +0 -66
  1841. data/spec/unit/file_system/path_pattern_spec.rb +0 -138
  1842. data/spec/unit/file_system/uniquefile_spec.rb +0 -204
  1843. data/spec/unit/file_system_spec.rb +0 -878
  1844. data/spec/unit/forge/errors_spec.rb +0 -80
  1845. data/spec/unit/forge/forge_spec.rb +0 -114
  1846. data/spec/unit/forge/module_release_spec.rb +0 -288
  1847. data/spec/unit/forge/repository_spec.rb +0 -251
  1848. data/spec/unit/forge_spec.rb +0 -276
  1849. data/spec/unit/functions/abs_spec.rb +0 -70
  1850. data/spec/unit/functions/all_spec.rb +0 -97
  1851. data/spec/unit/functions/annotate_spec.rb +0 -175
  1852. data/spec/unit/functions/any_spec.rb +0 -109
  1853. data/spec/unit/functions/assert_type_spec.rb +0 -97
  1854. data/spec/unit/functions/binary_file_spec.rb +0 -46
  1855. data/spec/unit/functions/break_spec.rb +0 -207
  1856. data/spec/unit/functions/call_spec.rb +0 -131
  1857. data/spec/unit/functions/camelcase_spec.rb +0 -34
  1858. data/spec/unit/functions/capitalize_spec.rb +0 -34
  1859. data/spec/unit/functions/ceiling_spec.rb +0 -65
  1860. data/spec/unit/functions/chomp_spec.rb +0 -46
  1861. data/spec/unit/functions/chop_spec.rb +0 -38
  1862. data/spec/unit/functions/compare_spec.rb +0 -147
  1863. data/spec/unit/functions/contain_spec.rb +0 -299
  1864. data/spec/unit/functions/convert_to_spec.rb +0 -25
  1865. data/spec/unit/functions/defined_spec.rb +0 -289
  1866. data/spec/unit/functions/dig_spec.rb +0 -58
  1867. data/spec/unit/functions/downcase_spec.rb +0 -34
  1868. data/spec/unit/functions/each_spec.rb +0 -107
  1869. data/spec/unit/functions/empty_spec.rb +0 -77
  1870. data/spec/unit/functions/epp_spec.rb +0 -172
  1871. data/spec/unit/functions/filter_spec.rb +0 -145
  1872. data/spec/unit/functions/find_file_spec.rb +0 -69
  1873. data/spec/unit/functions/flatten_spec.rb +0 -31
  1874. data/spec/unit/functions/floor_spec.rb +0 -65
  1875. data/spec/unit/functions/get_spec.rb +0 -135
  1876. data/spec/unit/functions/getvar_spec.rb +0 -121
  1877. data/spec/unit/functions/hiera_spec.rb +0 -495
  1878. data/spec/unit/functions/include_spec.rb +0 -190
  1879. data/spec/unit/functions/inline_epp_spec.rb +0 -89
  1880. data/spec/unit/functions/join_spec.rb +0 -33
  1881. data/spec/unit/functions/keys_spec.rb +0 -31
  1882. data/spec/unit/functions/length_spec.rb +0 -50
  1883. data/spec/unit/functions/lest_spec.rb +0 -34
  1884. data/spec/unit/functions/logging_spec.rb +0 -61
  1885. data/spec/unit/functions/lookup_fixture_spec.rb +0 -688
  1886. data/spec/unit/functions/lookup_spec.rb +0 -3326
  1887. data/spec/unit/functions/lstrip_spec.rb +0 -30
  1888. data/spec/unit/functions/map_spec.rb +0 -163
  1889. data/spec/unit/functions/match_spec.rb +0 -74
  1890. data/spec/unit/functions/max_spec.rb +0 -129
  1891. data/spec/unit/functions/min_spec.rb +0 -129
  1892. data/spec/unit/functions/module_directory_spec.rb +0 -43
  1893. data/spec/unit/functions/new_spec.rb +0 -761
  1894. data/spec/unit/functions/next_spec.rb +0 -93
  1895. data/spec/unit/functions/reduce_spec.rb +0 -85
  1896. data/spec/unit/functions/regsubst_spec.rb +0 -114
  1897. data/spec/unit/functions/require_spec.rb +0 -85
  1898. data/spec/unit/functions/return_spec.rb +0 -105
  1899. data/spec/unit/functions/reverse_each_spec.rb +0 -108
  1900. data/spec/unit/functions/round_spec.rb +0 -41
  1901. data/spec/unit/functions/rstrip_spec.rb +0 -30
  1902. data/spec/unit/functions/scanf_spec.rb +0 -32
  1903. data/spec/unit/functions/shared.rb +0 -97
  1904. data/spec/unit/functions/size_spec.rb +0 -50
  1905. data/spec/unit/functions/slice_spec.rb +0 -136
  1906. data/spec/unit/functions/sort_spec.rb +0 -79
  1907. data/spec/unit/functions/split_spec.rb +0 -53
  1908. data/spec/unit/functions/step_spec.rb +0 -113
  1909. data/spec/unit/functions/strftime_spec.rb +0 -152
  1910. data/spec/unit/functions/strip_spec.rb +0 -30
  1911. data/spec/unit/functions/then_spec.rb +0 -40
  1912. data/spec/unit/functions/tree_each_spec.rb +0 -493
  1913. data/spec/unit/functions/type_spec.rb +0 -35
  1914. data/spec/unit/functions/unique_spec.rb +0 -111
  1915. data/spec/unit/functions/unwrap_spec.rb +0 -29
  1916. data/spec/unit/functions/upcase_spec.rb +0 -34
  1917. data/spec/unit/functions/values_spec.rb +0 -30
  1918. data/spec/unit/functions/versioncmp_spec.rb +0 -35
  1919. data/spec/unit/functions/with_spec.rb +0 -31
  1920. data/spec/unit/functions4_spec.rb +0 -1038
  1921. data/spec/unit/gettext/config_spec.rb +0 -144
  1922. data/spec/unit/gettext/module_loading_spec.rb +0 -53
  1923. data/spec/unit/graph/key_spec.rb +0 -41
  1924. data/spec/unit/graph/rb_tree_map_spec.rb +0 -572
  1925. data/spec/unit/graph/relationship_graph_spec.rb +0 -402
  1926. data/spec/unit/graph/sequential_prioritizer_spec.rb +0 -32
  1927. data/spec/unit/graph/simple_graph_spec.rb +0 -760
  1928. data/spec/unit/hiera/scope_spec.rb +0 -93
  1929. data/spec/unit/hiera_puppet_spec.rb +0 -159
  1930. data/spec/unit/indirector/catalog/compiler_spec.rb +0 -1056
  1931. data/spec/unit/indirector/catalog/json_spec.rb +0 -67
  1932. data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -12
  1933. data/spec/unit/indirector/catalog/rest_spec.rb +0 -10
  1934. data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -17
  1935. data/spec/unit/indirector/catalog/yaml_spec.rb +0 -24
  1936. data/spec/unit/indirector/certificate/file_spec.rb +0 -15
  1937. data/spec/unit/indirector/certificate/rest_spec.rb +0 -63
  1938. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -15
  1939. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -26
  1940. data/spec/unit/indirector/data_binding/hiera_spec.rb +0 -19
  1941. data/spec/unit/indirector/data_binding/none_spec.rb +0 -28
  1942. data/spec/unit/indirector/direct_file_server_spec.rb +0 -88
  1943. data/spec/unit/indirector/envelope_spec.rb +0 -33
  1944. data/spec/unit/indirector/exec_spec.rb +0 -64
  1945. data/spec/unit/indirector/face_spec.rb +0 -83
  1946. data/spec/unit/indirector/facts/facter_spec.rb +0 -159
  1947. data/spec/unit/indirector/facts/network_device_spec.rb +0 -78
  1948. data/spec/unit/indirector/facts/rest_spec.rb +0 -45
  1949. data/spec/unit/indirector/facts/store_configs_spec.rb +0 -17
  1950. data/spec/unit/indirector/facts/yaml_spec.rb +0 -256
  1951. data/spec/unit/indirector/file_bucket_file/file_spec.rb +0 -425
  1952. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -10
  1953. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +0 -29
  1954. data/spec/unit/indirector/file_content/file_server_spec.rb +0 -14
  1955. data/spec/unit/indirector/file_content/file_spec.rb +0 -14
  1956. data/spec/unit/indirector/file_content/rest_spec.rb +0 -14
  1957. data/spec/unit/indirector/file_content/selector_spec.rb +0 -10
  1958. data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -14
  1959. data/spec/unit/indirector/file_metadata/file_spec.rb +0 -58
  1960. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -13
  1961. data/spec/unit/indirector/file_metadata/selector_spec.rb +0 -11
  1962. data/spec/unit/indirector/file_server_spec.rb +0 -302
  1963. data/spec/unit/indirector/hiera_spec.rb +0 -17
  1964. data/spec/unit/indirector/indirection_spec.rb +0 -866
  1965. data/spec/unit/indirector/json_spec.rb +0 -202
  1966. data/spec/unit/indirector/key/file_spec.rb +0 -80
  1967. data/spec/unit/indirector/memory_spec.rb +0 -27
  1968. data/spec/unit/indirector/msgpack_spec.rb +0 -201
  1969. data/spec/unit/indirector/node/exec_spec.rb +0 -108
  1970. data/spec/unit/indirector/node/memory_spec.rb +0 -18
  1971. data/spec/unit/indirector/node/msgpack_spec.rb +0 -24
  1972. data/spec/unit/indirector/node/plain_spec.rb +0 -36
  1973. data/spec/unit/indirector/node/rest_spec.rb +0 -12
  1974. data/spec/unit/indirector/node/store_configs_spec.rb +0 -17
  1975. data/spec/unit/indirector/node/yaml_spec.rb +0 -24
  1976. data/spec/unit/indirector/none_spec.rb +0 -33
  1977. data/spec/unit/indirector/plain_spec.rb +0 -27
  1978. data/spec/unit/indirector/report/msgpack_spec.rb +0 -28
  1979. data/spec/unit/indirector/report/processor_spec.rb +0 -100
  1980. data/spec/unit/indirector/report/rest_spec.rb +0 -93
  1981. data/spec/unit/indirector/report/yaml_spec.rb +0 -28
  1982. data/spec/unit/indirector/request_spec.rb +0 -561
  1983. data/spec/unit/indirector/resource/ral_spec.rb +0 -132
  1984. data/spec/unit/indirector/resource/store_configs_spec.rb +0 -21
  1985. data/spec/unit/indirector/rest_spec.rb +0 -787
  1986. data/spec/unit/indirector/ssl_file_spec.rb +0 -306
  1987. data/spec/unit/indirector/status/local_spec.rb +0 -11
  1988. data/spec/unit/indirector/status/rest_spec.rb +0 -10
  1989. data/spec/unit/indirector/store_configs_spec.rb +0 -8
  1990. data/spec/unit/indirector/terminus_spec.rb +0 -264
  1991. data/spec/unit/indirector/yaml_spec.rb +0 -189
  1992. data/spec/unit/indirector_spec.rb +0 -149
  1993. data/spec/unit/info_service_spec.rb +0 -498
  1994. data/spec/unit/interface/action_builder_spec.rb +0 -217
  1995. data/spec/unit/interface/action_manager_spec.rb +0 -255
  1996. data/spec/unit/interface/action_spec.rb +0 -680
  1997. data/spec/unit/interface/documentation_spec.rb +0 -33
  1998. data/spec/unit/interface/face_collection_spec.rb +0 -212
  1999. data/spec/unit/interface/option_builder_spec.rb +0 -86
  2000. data/spec/unit/interface/option_spec.rb +0 -156
  2001. data/spec/unit/interface_spec.rb +0 -305
  2002. data/spec/unit/man_spec.rb +0 -32
  2003. data/spec/unit/module_spec.rb +0 -907
  2004. data/spec/unit/module_tool/application_spec.rb +0 -25
  2005. data/spec/unit/module_tool/applications/checksummer_spec.rb +0 -115
  2006. data/spec/unit/module_tool/applications/installer_spec.rb +0 -379
  2007. data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
  2008. data/spec/unit/module_tool/applications/uninstaller_spec.rb +0 -173
  2009. data/spec/unit/module_tool/applications/unpacker_spec.rb +0 -75
  2010. data/spec/unit/module_tool/applications/upgrader_spec.rb +0 -337
  2011. data/spec/unit/module_tool/install_directory_spec.rb +0 -70
  2012. data/spec/unit/module_tool/installed_modules_spec.rb +0 -49
  2013. data/spec/unit/module_tool/metadata_spec.rb +0 -330
  2014. data/spec/unit/module_tool/tar/gnu_spec.rb +0 -23
  2015. data/spec/unit/module_tool/tar/mini_spec.rb +0 -89
  2016. data/spec/unit/module_tool/tar_spec.rb +0 -37
  2017. data/spec/unit/module_tool_spec.rb +0 -309
  2018. data/spec/unit/network/auth_config_parser_spec.rb +0 -117
  2019. data/spec/unit/network/authconfig_spec.rb +0 -139
  2020. data/spec/unit/network/authorization_spec.rb +0 -62
  2021. data/spec/unit/network/authstore_spec.rb +0 -423
  2022. data/spec/unit/network/format_handler_spec.rb +0 -94
  2023. data/spec/unit/network/format_spec.rb +0 -206
  2024. data/spec/unit/network/format_support_spec.rb +0 -199
  2025. data/spec/unit/network/formats_spec.rb +0 -538
  2026. data/spec/unit/network/http/api/indirected_routes_spec.rb +0 -486
  2027. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
  2028. data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
  2029. data/spec/unit/network/http/api/master/v3/environments_spec.rb +0 -63
  2030. data/spec/unit/network/http/api/master/v3_spec.rb +0 -57
  2031. data/spec/unit/network/http/api_spec.rb +0 -101
  2032. data/spec/unit/network/http/compression_spec.rb +0 -241
  2033. data/spec/unit/network/http/connection_spec.rb +0 -361
  2034. data/spec/unit/network/http/error_spec.rb +0 -30
  2035. data/spec/unit/network/http/factory_spec.rb +0 -119
  2036. data/spec/unit/network/http/handler_spec.rb +0 -179
  2037. data/spec/unit/network/http/nocache_pool_spec.rb +0 -43
  2038. data/spec/unit/network/http/pool_spec.rb +0 -299
  2039. data/spec/unit/network/http/request_spec.rb +0 -110
  2040. data/spec/unit/network/http/response_spec.rb +0 -108
  2041. data/spec/unit/network/http/route_spec.rb +0 -91
  2042. data/spec/unit/network/http/session_spec.rb +0 -43
  2043. data/spec/unit/network/http/site_spec.rb +0 -90
  2044. data/spec/unit/network/http_pool_spec.rb +0 -98
  2045. data/spec/unit/network/http_spec.rb +0 -10
  2046. data/spec/unit/network/resolver_spec.rb +0 -282
  2047. data/spec/unit/network/rights_spec.rb +0 -440
  2048. data/spec/unit/node/environment_spec.rb +0 -527
  2049. data/spec/unit/node/facts_spec.rb +0 -226
  2050. data/spec/unit/node_spec.rb +0 -483
  2051. data/spec/unit/other/selinux_spec.rb +0 -28
  2052. data/spec/unit/parameter/boolean_spec.rb +0 -36
  2053. data/spec/unit/parameter/package_options_spec.rb +0 -44
  2054. data/spec/unit/parameter/path_spec.rb +0 -24
  2055. data/spec/unit/parameter/value_collection_spec.rb +0 -161
  2056. data/spec/unit/parameter/value_spec.rb +0 -83
  2057. data/spec/unit/parameter_spec.rb +0 -272
  2058. data/spec/unit/parser/ast/block_expression_spec.rb +0 -68
  2059. data/spec/unit/parser/ast/leaf_spec.rb +0 -137
  2060. data/spec/unit/parser/compiler_spec.rb +0 -1019
  2061. data/spec/unit/parser/environment_compiler_spec.rb +0 -724
  2062. data/spec/unit/parser/files_spec.rb +0 -102
  2063. data/spec/unit/parser/functions/create_resources_spec.rb +0 -344
  2064. data/spec/unit/parser/functions/digest_spec.rb +0 -27
  2065. data/spec/unit/parser/functions/fail_spec.rb +0 -24
  2066. data/spec/unit/parser/functions/file_spec.rb +0 -100
  2067. data/spec/unit/parser/functions/fqdn_rand_spec.rb +0 -74
  2068. data/spec/unit/parser/functions/generate_spec.rb +0 -125
  2069. data/spec/unit/parser/functions/hiera_array_spec.rb +0 -12
  2070. data/spec/unit/parser/functions/hiera_hash_spec.rb +0 -12
  2071. data/spec/unit/parser/functions/hiera_include_spec.rb +0 -12
  2072. data/spec/unit/parser/functions/hiera_spec.rb +0 -12
  2073. data/spec/unit/parser/functions/inline_template_spec.rb +0 -37
  2074. data/spec/unit/parser/functions/lookup_spec.rb +0 -14
  2075. data/spec/unit/parser/functions/realize_spec.rb +0 -70
  2076. data/spec/unit/parser/functions/regsubst_spec.rb +0 -20
  2077. data/spec/unit/parser/functions/scanf_spec.rb +0 -26
  2078. data/spec/unit/parser/functions/shellquote_spec.rb +0 -67
  2079. data/spec/unit/parser/functions/split_spec.rb +0 -14
  2080. data/spec/unit/parser/functions/sprintf_spec.rb +0 -69
  2081. data/spec/unit/parser/functions/tag_spec.rb +0 -31
  2082. data/spec/unit/parser/functions/tagged_spec.rb +0 -37
  2083. data/spec/unit/parser/functions/template_spec.rb +0 -93
  2084. data/spec/unit/parser/functions/versioncmp_spec.rb +0 -29
  2085. data/spec/unit/parser/functions_spec.rb +0 -157
  2086. data/spec/unit/parser/relationship_spec.rb +0 -75
  2087. data/spec/unit/parser/resource/param_spec.rb +0 -32
  2088. data/spec/unit/parser/resource_spec.rb +0 -642
  2089. data/spec/unit/parser/scope_spec.rb +0 -680
  2090. data/spec/unit/parser/templatewrapper_spec.rb +0 -101
  2091. data/spec/unit/parser/type_loader_spec.rb +0 -204
  2092. data/spec/unit/pops/adaptable_spec.rb +0 -140
  2093. data/spec/unit/pops/benchmark_spec.rb +0 -124
  2094. data/spec/unit/pops/containment_spec.rb +0 -0
  2095. data/spec/unit/pops/evaluator/access_ops_spec.rb +0 -561
  2096. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +0 -310
  2097. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +0 -102
  2098. data/spec/unit/pops/evaluator/collections_ops_spec.rb +0 -109
  2099. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +0 -268
  2100. data/spec/unit/pops/evaluator/conditionals_spec.rb +0 -190
  2101. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +0 -1583
  2102. data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +0 -75
  2103. data/spec/unit/pops/evaluator/json_strict_literal_evaluator_spec.rb +0 -63
  2104. data/spec/unit/pops/evaluator/literal_evaluator_spec.rb +0 -43
  2105. data/spec/unit/pops/evaluator/logical_ops_spec.rb +0 -90
  2106. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -182
  2107. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +0 -44
  2108. data/spec/unit/pops/evaluator/variables_spec.rb +0 -89
  2109. data/spec/unit/pops/factory_rspec_helper.rb +0 -65
  2110. data/spec/unit/pops/factory_spec.rb +0 -310
  2111. data/spec/unit/pops/issues_spec.rb +0 -211
  2112. data/spec/unit/pops/label_provider_spec.rb +0 -46
  2113. data/spec/unit/pops/loaders/dependency_loader_spec.rb +0 -131
  2114. data/spec/unit/pops/loaders/environment_loader_spec.rb +0 -172
  2115. data/spec/unit/pops/loaders/loader_paths_spec.rb +0 -43
  2116. data/spec/unit/pops/loaders/loader_spec.rb +0 -487
  2117. data/spec/unit/pops/loaders/loaders_spec.rb +0 -723
  2118. data/spec/unit/pops/loaders/module_loaders_spec.rb +0 -231
  2119. data/spec/unit/pops/loaders/static_loader_spec.rb +0 -85
  2120. data/spec/unit/pops/lookup/context_spec.rb +0 -334
  2121. data/spec/unit/pops/lookup/interpolation_spec.rb +0 -378
  2122. data/spec/unit/pops/lookup/lookup_spec.rb +0 -350
  2123. data/spec/unit/pops/merge_strategy_spec.rb +0 -18
  2124. data/spec/unit/pops/migration_spec.rb +0 -53
  2125. data/spec/unit/pops/model/model_spec.rb +0 -42
  2126. data/spec/unit/pops/model/pn_transformer_spec.rb +0 -57
  2127. data/spec/unit/pops/parser/epp_parser_spec.rb +0 -115
  2128. data/spec/unit/pops/parser/evaluating_parser_spec.rb +0 -89
  2129. data/spec/unit/pops/parser/lexer2_spec.rb +0 -950
  2130. data/spec/unit/pops/parser/locator_spec.rb +0 -44
  2131. data/spec/unit/pops/parser/parse_application_spec.rb +0 -32
  2132. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -382
  2133. data/spec/unit/pops/parser/parse_calls_spec.rb +0 -172
  2134. data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -37
  2135. data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -185
  2136. data/spec/unit/pops/parser/parse_containers_spec.rb +0 -259
  2137. data/spec/unit/pops/parser/parse_functions_spec.rb +0 -19
  2138. data/spec/unit/pops/parser/parse_heredoc_spec.rb +0 -180
  2139. data/spec/unit/pops/parser/parse_lambda_spec.rb +0 -19
  2140. data/spec/unit/pops/parser/parse_plan_spec.rb +0 -48
  2141. data/spec/unit/pops/parser/parse_resource_spec.rb +0 -329
  2142. data/spec/unit/pops/parser/parse_site_spec.rb +0 -48
  2143. data/spec/unit/pops/parser/parser_rspec_helper.rb +0 -17
  2144. data/spec/unit/pops/parser/parser_spec.rb +0 -211
  2145. data/spec/unit/pops/parser/parsing_typed_parameters_spec.rb +0 -65
  2146. data/spec/unit/pops/parser/pn_parser_spec.rb +0 -101
  2147. data/spec/unit/pops/pn_spec.rb +0 -148
  2148. data/spec/unit/pops/puppet_stack_spec.rb +0 -108
  2149. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -109
  2150. data/spec/unit/pops/serialization/packer_spec.rb +0 -162
  2151. data/spec/unit/pops/serialization/serialization_spec.rb +0 -458
  2152. data/spec/unit/pops/serialization/to_from_hr_spec.rb +0 -632
  2153. data/spec/unit/pops/serialization/to_stringified_spec.rb +0 -157
  2154. data/spec/unit/pops/time/timespan_spec.rb +0 -121
  2155. data/spec/unit/pops/time/timestamp_spec.rb +0 -13
  2156. data/spec/unit/pops/types/class_loader_spec.rb +0 -10
  2157. data/spec/unit/pops/types/deferred_spec.rb +0 -87
  2158. data/spec/unit/pops/types/enumeration_spec.rb +0 -51
  2159. data/spec/unit/pops/types/error_spec.rb +0 -207
  2160. data/spec/unit/pops/types/iterable_spec.rb +0 -262
  2161. data/spec/unit/pops/types/p_binary_type_spec.rb +0 -243
  2162. data/spec/unit/pops/types/p_init_type_spec.rb +0 -383
  2163. data/spec/unit/pops/types/p_object_type_spec.rb +0 -1730
  2164. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +0 -322
  2165. data/spec/unit/pops/types/p_sensitive_type_spec.rb +0 -173
  2166. data/spec/unit/pops/types/p_timespan_type_spec.rb +0 -323
  2167. data/spec/unit/pops/types/p_timestamp_type_spec.rb +0 -391
  2168. data/spec/unit/pops/types/p_type_set_type_spec.rb +0 -549
  2169. data/spec/unit/pops/types/p_uri_type_spec.rb +0 -191
  2170. data/spec/unit/pops/types/recursion_guard_spec.rb +0 -93
  2171. data/spec/unit/pops/types/ruby_generator_spec.rb +0 -874
  2172. data/spec/unit/pops/types/string_converter_spec.rb +0 -1198
  2173. data/spec/unit/pops/types/task_spec.rb +0 -411
  2174. data/spec/unit/pops/types/type_acceptor_spec.rb +0 -106
  2175. data/spec/unit/pops/types/type_asserter_spec.rb +0 -43
  2176. data/spec/unit/pops/types/type_calculator_spec.rb +0 -2508
  2177. data/spec/unit/pops/types/type_factory_spec.rb +0 -322
  2178. data/spec/unit/pops/types/type_formatter_spec.rb +0 -427
  2179. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +0 -249
  2180. data/spec/unit/pops/types/type_parser_spec.rb +0 -444
  2181. data/spec/unit/pops/types/types_spec.rb +0 -728
  2182. data/spec/unit/pops/utils_spec.rb +0 -70
  2183. data/spec/unit/pops/validation_spec.rb +0 -66
  2184. data/spec/unit/pops/validator/validator_spec.rb +0 -1022
  2185. data/spec/unit/pops/visitor_spec.rb +0 -94
  2186. data/spec/unit/property/boolean_spec.rb +0 -24
  2187. data/spec/unit/property/ensure_spec.rb +0 -12
  2188. data/spec/unit/property/keyvalue_spec.rb +0 -261
  2189. data/spec/unit/property/list_spec.rb +0 -173
  2190. data/spec/unit/property/ordered_list_spec.rb +0 -63
  2191. data/spec/unit/property_spec.rb +0 -563
  2192. data/spec/unit/provider/README.markdown +0 -4
  2193. data/spec/unit/provider/aix_object_spec.rb +0 -805
  2194. data/spec/unit/provider/command_spec.rb +0 -62
  2195. data/spec/unit/provider/exec/posix_spec.rb +0 -209
  2196. data/spec/unit/provider/exec/shell_spec.rb +0 -54
  2197. data/spec/unit/provider/exec/windows_spec.rb +0 -107
  2198. data/spec/unit/provider/exec_spec.rb +0 -35
  2199. data/spec/unit/provider/file/posix_spec.rb +0 -232
  2200. data/spec/unit/provider/file/windows_spec.rb +0 -154
  2201. data/spec/unit/provider/group/aix_spec.rb +0 -90
  2202. data/spec/unit/provider/group/directoryservice_spec.rb +0 -33
  2203. data/spec/unit/provider/group/groupadd_spec.rb +0 -152
  2204. data/spec/unit/provider/group/ldap_spec.rb +0 -98
  2205. data/spec/unit/provider/group/pw_spec.rb +0 -78
  2206. data/spec/unit/provider/group/windows_adsi_spec.rb +0 -359
  2207. data/spec/unit/provider/ldap_spec.rb +0 -243
  2208. data/spec/unit/provider/nameservice/directoryservice_spec.rb +0 -158
  2209. data/spec/unit/provider/nameservice_spec.rb +0 -456
  2210. data/spec/unit/provider/package/aix_spec.rb +0 -129
  2211. data/spec/unit/provider/package/appdmg_spec.rb +0 -42
  2212. data/spec/unit/provider/package/apt_spec.rb +0 -162
  2213. data/spec/unit/provider/package/aptitude_spec.rb +0 -45
  2214. data/spec/unit/provider/package/aptrpm_spec.rb +0 -47
  2215. data/spec/unit/provider/package/base_spec.rb +0 -18
  2216. data/spec/unit/provider/package/dnf_spec.rb +0 -50
  2217. data/spec/unit/provider/package/dpkg_spec.rb +0 -278
  2218. data/spec/unit/provider/package/freebsd_spec.rb +0 -51
  2219. data/spec/unit/provider/package/gem_spec.rb +0 -336
  2220. data/spec/unit/provider/package/hpux_spec.rb +0 -48
  2221. data/spec/unit/provider/package/macports_spec.rb +0 -138
  2222. data/spec/unit/provider/package/nim_spec.rb +0 -234
  2223. data/spec/unit/provider/package/openbsd_spec.rb +0 -401
  2224. data/spec/unit/provider/package/opkg_spec.rb +0 -183
  2225. data/spec/unit/provider/package/pacman_spec.rb +0 -468
  2226. data/spec/unit/provider/package/pip3_spec.rb +0 -19
  2227. data/spec/unit/provider/package/pip_spec.rb +0 -379
  2228. data/spec/unit/provider/package/pkg_spec.rb +0 -413
  2229. data/spec/unit/provider/package/pkgdmg_spec.rb +0 -168
  2230. data/spec/unit/provider/package/pkgin_spec.rb +0 -183
  2231. data/spec/unit/provider/package/pkgng_spec.rb +0 -183
  2232. data/spec/unit/provider/package/pkgutil_spec.rb +0 -235
  2233. data/spec/unit/provider/package/portage_spec.rb +0 -211
  2234. data/spec/unit/provider/package/puppet_gem_spec.rb +0 -64
  2235. data/spec/unit/provider/package/rpm_spec.rb +0 -674
  2236. data/spec/unit/provider/package/sun_spec.rb +0 -114
  2237. data/spec/unit/provider/package/tdnf_spec.rb +0 -15
  2238. data/spec/unit/provider/package/up2date_spec.rb +0 -24
  2239. data/spec/unit/provider/package/urpmi_spec.rb +0 -86
  2240. data/spec/unit/provider/package/windows/exe_package_spec.rb +0 -100
  2241. data/spec/unit/provider/package/windows/msi_package_spec.rb +0 -114
  2242. data/spec/unit/provider/package/windows/package_spec.rb +0 -185
  2243. data/spec/unit/provider/package/windows_spec.rb +0 -257
  2244. data/spec/unit/provider/package/yum_spec.rb +0 -148
  2245. data/spec/unit/provider/package/zypper_spec.rb +0 -229
  2246. data/spec/unit/provider/parsedfile_spec.rb +0 -228
  2247. data/spec/unit/provider/service/base_spec.rb +0 -112
  2248. data/spec/unit/provider/service/bsd_spec.rb +0 -129
  2249. data/spec/unit/provider/service/daemontools_spec.rb +0 -166
  2250. data/spec/unit/provider/service/debian_spec.rb +0 -162
  2251. data/spec/unit/provider/service/freebsd_spec.rb +0 -92
  2252. data/spec/unit/provider/service/gentoo_spec.rb +0 -250
  2253. data/spec/unit/provider/service/init_spec.rb +0 -259
  2254. data/spec/unit/provider/service/launchd_spec.rb +0 -367
  2255. data/spec/unit/provider/service/openbsd_spec.rb +0 -201
  2256. data/spec/unit/provider/service/openrc_spec.rb +0 -233
  2257. data/spec/unit/provider/service/openwrt_spec.rb +0 -111
  2258. data/spec/unit/provider/service/rcng_spec.rb +0 -40
  2259. data/spec/unit/provider/service/redhat_spec.rb +0 -177
  2260. data/spec/unit/provider/service/runit_spec.rb +0 -137
  2261. data/spec/unit/provider/service/smf_spec.rb +0 -281
  2262. data/spec/unit/provider/service/src_spec.rb +0 -194
  2263. data/spec/unit/provider/service/systemd_spec.rb +0 -421
  2264. data/spec/unit/provider/service/upstart_spec.rb +0 -693
  2265. data/spec/unit/provider/service/windows_spec.rb +0 -226
  2266. data/spec/unit/provider/user/aix_spec.rb +0 -215
  2267. data/spec/unit/provider/user/directoryservice_spec.rb +0 -1151
  2268. data/spec/unit/provider/user/hpux_spec.rb +0 -72
  2269. data/spec/unit/provider/user/ldap_spec.rb +0 -286
  2270. data/spec/unit/provider/user/openbsd_spec.rb +0 -77
  2271. data/spec/unit/provider/user/pw_spec.rb +0 -211
  2272. data/spec/unit/provider/user/user_role_add_spec.rb +0 -374
  2273. data/spec/unit/provider/user/useradd_spec.rb +0 -632
  2274. data/spec/unit/provider/user/windows_adsi_spec.rb +0 -326
  2275. data/spec/unit/provider_spec.rb +0 -918
  2276. data/spec/unit/puppet_pal_2pec.rb +0 -1020
  2277. data/spec/unit/puppet_pal_catalog_spec.rb +0 -859
  2278. data/spec/unit/puppet_pal_spec.rb +0 -4
  2279. data/spec/unit/puppet_spec.rb +0 -73
  2280. data/spec/unit/relationship_spec.rb +0 -203
  2281. data/spec/unit/reports/http_spec.rb +0 -103
  2282. data/spec/unit/reports/store_spec.rb +0 -60
  2283. data/spec/unit/reports_spec.rb +0 -70
  2284. data/spec/unit/resource/capability_finder_spec.rb +0 -145
  2285. data/spec/unit/resource/catalog_spec.rb +0 -1134
  2286. data/spec/unit/resource/status_spec.rb +0 -218
  2287. data/spec/unit/resource/type_collection_spec.rb +0 -337
  2288. data/spec/unit/resource/type_spec.rb +0 -877
  2289. data/spec/unit/resource_spec.rb +0 -1128
  2290. data/spec/unit/rest/client_spec.rb +0 -135
  2291. data/spec/unit/rest/route_spec.rb +0 -132
  2292. data/spec/unit/scheduler/job_spec.rb +0 -79
  2293. data/spec/unit/scheduler/scheduler_spec.rb +0 -116
  2294. data/spec/unit/scheduler/splay_job_spec.rb +0 -35
  2295. data/spec/unit/settings/array_setting_spec.rb +0 -39
  2296. data/spec/unit/settings/autosign_setting_spec.rb +0 -104
  2297. data/spec/unit/settings/certificate_revocation_setting_spec.rb +0 -37
  2298. data/spec/unit/settings/config_file_spec.rb +0 -158
  2299. data/spec/unit/settings/directory_setting_spec.rb +0 -32
  2300. data/spec/unit/settings/duration_setting_spec.rb +0 -49
  2301. data/spec/unit/settings/enum_setting_spec.rb +0 -27
  2302. data/spec/unit/settings/environment_conf_spec.rb +0 -135
  2303. data/spec/unit/settings/file_setting_spec.rb +0 -343
  2304. data/spec/unit/settings/ini_file_spec.rb +0 -550
  2305. data/spec/unit/settings/path_setting_spec.rb +0 -30
  2306. data/spec/unit/settings/priority_setting_spec.rb +0 -66
  2307. data/spec/unit/settings/string_setting_spec.rb +0 -75
  2308. data/spec/unit/settings/terminus_setting_spec.rb +0 -28
  2309. data/spec/unit/settings/value_translator_spec.rb +0 -77
  2310. data/spec/unit/settings_spec.rb +0 -1919
  2311. data/spec/unit/ssl/base_spec.rb +0 -94
  2312. data/spec/unit/ssl/certificate_request_attributes_spec.rb +0 -80
  2313. data/spec/unit/ssl/certificate_request_spec.rb +0 -401
  2314. data/spec/unit/ssl/certificate_spec.rb +0 -187
  2315. data/spec/unit/ssl/digest_spec.rb +0 -35
  2316. data/spec/unit/ssl/host_spec.rb +0 -630
  2317. data/spec/unit/ssl/key_spec.rb +0 -174
  2318. data/spec/unit/ssl/oids_spec.rb +0 -72
  2319. data/spec/unit/ssl/validator_spec.rb +0 -287
  2320. data/spec/unit/status_spec.rb +0 -45
  2321. data/spec/unit/task_spec.rb +0 -292
  2322. data/spec/unit/transaction/additional_resource_generator_spec.rb +0 -542
  2323. data/spec/unit/transaction/event_manager_spec.rb +0 -363
  2324. data/spec/unit/transaction/event_spec.rb +0 -197
  2325. data/spec/unit/transaction/persistence_spec.rb +0 -220
  2326. data/spec/unit/transaction/report_spec.rb +0 -700
  2327. data/spec/unit/transaction/resource_harness_spec.rb +0 -604
  2328. data/spec/unit/transaction_spec.rb +0 -974
  2329. data/spec/unit/type/README.markdown +0 -4
  2330. data/spec/unit/type/component_spec.rb +0 -53
  2331. data/spec/unit/type/exec_spec.rb +0 -815
  2332. data/spec/unit/type/file/checksum_spec.rb +0 -105
  2333. data/spec/unit/type/file/checksum_value_spec.rb +0 -286
  2334. data/spec/unit/type/file/content_spec.rb +0 -438
  2335. data/spec/unit/type/file/ctime_spec.rb +0 -34
  2336. data/spec/unit/type/file/ensure_spec.rb +0 -123
  2337. data/spec/unit/type/file/group_spec.rb +0 -60
  2338. data/spec/unit/type/file/mode_spec.rb +0 -222
  2339. data/spec/unit/type/file/mtime_spec.rb +0 -34
  2340. data/spec/unit/type/file/owner_spec.rb +0 -58
  2341. data/spec/unit/type/file/selinux_spec.rb +0 -90
  2342. data/spec/unit/type/file/source_spec.rb +0 -677
  2343. data/spec/unit/type/file/type_spec.rb +0 -19
  2344. data/spec/unit/type/file_spec.rb +0 -1696
  2345. data/spec/unit/type/filebucket_spec.rb +0 -103
  2346. data/spec/unit/type/group_spec.rb +0 -100
  2347. data/spec/unit/type/noop_metaparam_spec.rb +0 -38
  2348. data/spec/unit/type/package/package_settings_spec.rb +0 -135
  2349. data/spec/unit/type/package_spec.rb +0 -384
  2350. data/spec/unit/type/resources_spec.rb +0 -350
  2351. data/spec/unit/type/schedule_spec.rb +0 -621
  2352. data/spec/unit/type/service_spec.rb +0 -308
  2353. data/spec/unit/type/stage_spec.rb +0 -8
  2354. data/spec/unit/type/tidy_spec.rb +0 -468
  2355. data/spec/unit/type/user_spec.rb +0 -459
  2356. data/spec/unit/type/whit_spec.rb +0 -10
  2357. data/spec/unit/type_spec.rb +0 -1384
  2358. data/spec/unit/util/at_fork_spec.rb +0 -150
  2359. data/spec/unit/util/autoload_spec.rb +0 -309
  2360. data/spec/unit/util/backups_spec.rb +0 -134
  2361. data/spec/unit/util/character_encoding_spec.rb +0 -186
  2362. data/spec/unit/util/checksums_spec.rb +0 -208
  2363. data/spec/unit/util/colors_spec.rb +0 -45
  2364. data/spec/unit/util/command_line_spec.rb +0 -175
  2365. data/spec/unit/util/command_line_utils/puppet_option_parser_spec.rb +0 -129
  2366. data/spec/unit/util/constant_inflector_spec.rb +0 -56
  2367. data/spec/unit/util/diff_spec.rb +0 -47
  2368. data/spec/unit/util/docs_spec.rb +0 -100
  2369. data/spec/unit/util/errors_spec.rb +0 -37
  2370. data/spec/unit/util/execution_spec.rb +0 -927
  2371. data/spec/unit/util/execution_stub_spec.rb +0 -39
  2372. data/spec/unit/util/feature_spec.rb +0 -120
  2373. data/spec/unit/util/filetype_spec.rb +0 -223
  2374. data/spec/unit/util/http_proxy_spec.rb +0 -273
  2375. data/spec/unit/util/inifile_spec.rb +0 -523
  2376. data/spec/unit/util/json_lockfile_spec.rb +0 -50
  2377. data/spec/unit/util/ldap/connection_spec.rb +0 -161
  2378. data/spec/unit/util/ldap/generator_spec.rb +0 -50
  2379. data/spec/unit/util/ldap/manager_spec.rb +0 -626
  2380. data/spec/unit/util/lockfile_spec.rb +0 -118
  2381. data/spec/unit/util/log/destinations_spec.rb +0 -267
  2382. data/spec/unit/util/log_spec.rb +0 -576
  2383. data/spec/unit/util/logging_spec.rb +0 -430
  2384. data/spec/unit/util/metric_spec.rb +0 -90
  2385. data/spec/unit/util/monkey_patches_spec.rb +0 -145
  2386. data/spec/unit/util/multi_match_spec.rb +0 -39
  2387. data/spec/unit/util/network_device/config_spec.rb +0 -92
  2388. data/spec/unit/util/network_device/transport/base_spec.rb +0 -41
  2389. data/spec/unit/util/network_device_spec.rb +0 -50
  2390. data/spec/unit/util/package_spec.rb +0 -20
  2391. data/spec/unit/util/pidlock_spec.rb +0 -218
  2392. data/spec/unit/util/plist_spec.rb +0 -141
  2393. data/spec/unit/util/posix_spec.rb +0 -279
  2394. data/spec/unit/util/profiler/aggregate_spec.rb +0 -55
  2395. data/spec/unit/util/profiler/around_profiler_spec.rb +0 -61
  2396. data/spec/unit/util/profiler/logging_spec.rb +0 -70
  2397. data/spec/unit/util/profiler/object_counts_spec.rb +0 -13
  2398. data/spec/unit/util/profiler/wall_clock_spec.rb +0 -13
  2399. data/spec/unit/util/profiler_spec.rb +0 -47
  2400. data/spec/unit/util/rdoc_spec.rb +0 -56
  2401. data/spec/unit/util/reference_spec.rb +0 -39
  2402. data/spec/unit/util/resource_template_spec.rb +0 -57
  2403. data/spec/unit/util/retry_action_spec.rb +0 -85
  2404. data/spec/unit/util/rubygems_spec.rb +0 -48
  2405. data/spec/unit/util/run_mode_spec.rb +0 -318
  2406. data/spec/unit/util/selinux_spec.rb +0 -315
  2407. data/spec/unit/util/splayer_spec.rb +0 -45
  2408. data/spec/unit/util/ssl_spec.rb +0 -92
  2409. data/spec/unit/util/storage_spec.rb +0 -336
  2410. data/spec/unit/util/suidmanager_spec.rb +0 -284
  2411. data/spec/unit/util/symbolic_file_mode_spec.rb +0 -181
  2412. data/spec/unit/util/tag_set_spec.rb +0 -53
  2413. data/spec/unit/util/tagging_spec.rb +0 -247
  2414. data/spec/unit/util/terminal_spec.rb +0 -42
  2415. data/spec/unit/util/user_attr_spec.rb +0 -46
  2416. data/spec/unit/util/warnings_spec.rb +0 -46
  2417. data/spec/unit/util/watched_file_spec.rb +0 -52
  2418. data/spec/unit/util/watcher/periodic_watcher_spec.rb +0 -52
  2419. data/spec/unit/util/watcher_spec.rb +0 -56
  2420. data/spec/unit/util/windows/access_control_entry_spec.rb +0 -67
  2421. data/spec/unit/util/windows/access_control_list_spec.rb +0 -133
  2422. data/spec/unit/util/windows/adsi_spec.rb +0 -630
  2423. data/spec/unit/util/windows/api_types_spec.rb +0 -121
  2424. data/spec/unit/util/windows/eventlog_spec.rb +0 -123
  2425. data/spec/unit/util/windows/file_spec.rb +0 -89
  2426. data/spec/unit/util/windows/root_certs_spec.rb +0 -17
  2427. data/spec/unit/util/windows/security_descriptor_spec.rb +0 -117
  2428. data/spec/unit/util/windows/service_spec.rb +0 -669
  2429. data/spec/unit/util/windows/sid_spec.rb +0 -299
  2430. data/spec/unit/util/windows/string_spec.rb +0 -58
  2431. data/spec/unit/util/yaml_spec.rb +0 -201
  2432. data/spec/unit/util_spec.rb +0 -949
  2433. data/spec/unit/version_spec.rb +0 -61
  2434. data/spec/watchr.rb +0 -137
  2435. data/tasks/benchmark.rake +0 -180
  2436. data/tasks/cfpropertylist.rake +0 -15
  2437. data/tasks/ci.rake +0 -24
  2438. data/tasks/generate_ast_model.rake +0 -90
  2439. data/tasks/manpages.rake +0 -91
  2440. data/tasks/memwalk.rake +0 -195
  2441. data/tasks/parallel.rake +0 -410
  2442. data/tasks/parser.rake +0 -22
  2443. data/tasks/yard.rake +0 -59
  2444. /data/{ext → examples/enc}/regexp_nodes/classes/databases +0 -0
  2445. /data/{ext → examples/enc}/regexp_nodes/classes/webservers +0 -0
  2446. /data/{ext → examples/enc}/regexp_nodes/environment/development +0 -0
  2447. /data/{ext → examples/enc}/regexp_nodes/parameters/service/prod +0 -0
  2448. /data/{ext → examples/enc}/regexp_nodes/parameters/service/qa +0 -0
  2449. /data/{ext → examples/enc}/regexp_nodes/parameters/service/sandbox +0 -0
@@ -1,15 +1,15 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # The client for interacting with the puppetmaster config server.
2
- require 'sync'
3
4
  require 'timeout'
4
- require 'puppet/network/http_pool'
5
- require 'puppet/util'
5
+ require_relative '../puppet/util'
6
6
  require 'securerandom'
7
- #require 'puppet/parser/script_compiler'
8
- require 'puppet/pops/evaluator/deferred_resolver'
7
+ # require 'puppet/parser/script_compiler'
8
+ require_relative '../puppet/pops/evaluator/deferred_resolver'
9
9
 
10
10
  class Puppet::Configurer
11
- require 'puppet/configurer/fact_handler'
12
- require 'puppet/configurer/plugin_handler'
11
+ require_relative 'configurer/fact_handler'
12
+ require_relative 'configurer/plugin_handler'
13
13
 
14
14
  include Puppet::Configurer::FactHandler
15
15
 
@@ -41,7 +41,7 @@ class Puppet::Configurer
41
41
 
42
42
  # Initialize and load storage
43
43
  def init_storage
44
- Puppet::Util::Storage.load
44
+ Puppet::Util::Storage.load
45
45
  rescue => detail
46
46
  Puppet.log_exception(detail, _("Removing corrupt state file %{file}: %{detail}") % { file: Puppet[:statefile], detail: detail })
47
47
  begin
@@ -55,6 +55,7 @@ class Puppet::Configurer
55
55
  def initialize(transaction_uuid = nil, job_id = nil)
56
56
  @running = false
57
57
  @splayed = false
58
+ @running_failure = false
58
59
  @cached_catalog_status = 'not_used'
59
60
  @environment = Puppet[:environment]
60
61
  @transaction_uuid = transaction_uuid || SecureRandom.uuid
@@ -65,17 +66,25 @@ class Puppet::Configurer
65
66
  end
66
67
 
67
68
  # Get the remote catalog, yo. Returns nil if no catalog can be found.
68
- def retrieve_catalog(query_options)
69
+ def retrieve_catalog(facts, query_options)
69
70
  query_options ||= {}
70
- if (Puppet[:use_cached_catalog] && result = retrieve_catalog_from_cache(query_options))
71
- @cached_catalog_status = 'explicitly_requested'
71
+ if Puppet[:use_cached_catalog] || @running_failure
72
+ result = retrieve_catalog_from_cache(query_options)
73
+ end
74
+
75
+ if result
76
+ if Puppet[:use_cached_catalog]
77
+ @cached_catalog_status = 'explicitly_requested'
78
+ elsif @running_failure
79
+ @cached_catalog_status = 'on_failure'
80
+ end
72
81
 
73
82
  Puppet.info _("Using cached catalog from environment '%{environment}'") % { environment: result.environment }
74
83
  else
75
- result = retrieve_new_catalog(query_options)
84
+ result = retrieve_new_catalog(facts, query_options)
76
85
 
77
- if !result
78
- if !Puppet[:usecacheonfailure]
86
+ unless result
87
+ unless Puppet[:usecacheonfailure]
79
88
  Puppet.warning _("Not using cache on failed catalog")
80
89
  return nil
81
90
  end
@@ -84,7 +93,7 @@ class Puppet::Configurer
84
93
 
85
94
  if result
86
95
  # don't use use cached catalog if it doesn't match server specified environment
87
- if @node_environment && result.environment != @environment
96
+ if result.environment != @environment
88
97
  Puppet.err _("Not using cached catalog because its environment '%{catalog_env}' does not match '%{local_env}'") % { catalog_env: result.environment, local_env: @environment }
89
98
  return nil
90
99
  end
@@ -99,26 +108,117 @@ class Puppet::Configurer
99
108
  end
100
109
 
101
110
  # Convert a plain resource catalog into our full host catalog.
102
- def convert_catalog(result, duration, options = {})
111
+ def convert_catalog(result, duration, facts, options = {})
103
112
  catalog = nil
104
113
 
105
114
  catalog_conversion_time = thinmark do
106
115
  # Will mutate the result and replace all Deferred values with resolved values
107
- if facts = options[:convert_with_facts]
108
- Puppet::Pops::Evaluator::DeferredResolver.resolve_and_replace(facts, result)
116
+ if facts
117
+ Puppet::Pops::Evaluator::DeferredResolver.resolve_and_replace(facts, result, Puppet.lookup(:current_environment), Puppet[:preprocess_deferred])
109
118
  end
110
119
 
111
120
  catalog = result.to_ral
112
121
  catalog.finalize
113
122
  catalog.retrieval_duration = duration
114
- catalog.write_class_file
115
- catalog.write_resource_file
123
+
124
+ if Puppet[:write_catalog_summary]
125
+ catalog.write_class_file
126
+ catalog.write_resource_file
127
+ end
116
128
  end
117
129
  options[:report].add_times(:convert_catalog, catalog_conversion_time) if options[:report]
118
130
 
119
131
  catalog
120
132
  end
121
133
 
134
+ def warn_number_of_facts(size, max_number)
135
+ Puppet.warning _("The current total number of facts: %{size} exceeds the number of facts limit: %{max_size}") % { size: size, max_size: max_number }
136
+ end
137
+
138
+ def warn_fact_name_length(name, max_length)
139
+ Puppet.warning _("Fact %{name} with length: '%{length}' exceeds the length limit: %{limit}") % { name: name, length: name.to_s.bytesize, limit: max_length }
140
+ end
141
+
142
+ def warn_number_of_top_level_facts(size, max_number)
143
+ Puppet.warning _("The current number of top level facts: %{size} exceeds the top facts limit: %{max_size}") % { size: size, max_size: max_number }
144
+ end
145
+
146
+ def warn_fact_value_length(value, max_length)
147
+ Puppet.warning _("Fact value '%{value}' with the value length: '%{length}' exceeds the value length limit: %{max_length}") % { value: value, length: value.to_s.bytesize, max_length: max_length }
148
+ end
149
+
150
+ def warn_fact_payload_size(payload, max_size)
151
+ Puppet.warning _("Payload with the current size of: '%{payload}' exceeds the payload size limit: %{max_size}") % { payload: payload, max_size: max_size }
152
+ end
153
+
154
+ def check_fact_name_length(name, number_of_dots)
155
+ max_length = Puppet[:fact_name_length_soft_limit]
156
+ return if max_length.zero?
157
+
158
+ # rough byte size estimations of fact path as a postgresql btree index
159
+ size_as_btree_index = 8 + (number_of_dots * 2) + name.to_s.bytesize
160
+ warn_fact_name_length(name, max_length) if size_as_btree_index > max_length
161
+ end
162
+
163
+ def check_fact_values_length(values)
164
+ max_length = Puppet[:fact_value_length_soft_limit]
165
+ return if max_length.zero?
166
+
167
+ warn_fact_value_length(values, max_length) if values.to_s.bytesize > max_length
168
+ end
169
+
170
+ def check_top_level_number_limit(size)
171
+ max_size = Puppet[:top_level_facts_soft_limit]
172
+ return if max_size.zero?
173
+
174
+ warn_number_of_top_level_facts(size, max_size) if size > max_size
175
+ end
176
+
177
+ def check_total_number_limit(size)
178
+ max_size = Puppet[:number_of_facts_soft_limit]
179
+ return if max_size.zero?
180
+
181
+ warn_number_of_facts(size, max_size) if size > max_size
182
+ end
183
+
184
+ def check_payload_size(payload)
185
+ max_size = Puppet[:payload_soft_limit]
186
+ return if max_size.zero?
187
+
188
+ warn_fact_payload_size(payload, max_size) if payload > max_size
189
+ Puppet.debug _("The size of the payload is %{payload}") % { payload: payload }
190
+ end
191
+
192
+ def parse_fact_name_and_value_limits(object, path = [])
193
+ case object
194
+ when Hash
195
+ object.each do |key, value|
196
+ path.push(key)
197
+ parse_fact_name_and_value_limits(value, path)
198
+ path.pop
199
+ end
200
+ when Array
201
+ object.each_with_index do |e, idx|
202
+ path.push(idx)
203
+ parse_fact_name_and_value_limits(e, path)
204
+ path.pop
205
+ end
206
+ else
207
+ check_fact_name_length(path.join(), path.size)
208
+ check_fact_values_length(object)
209
+ @number_of_facts += 1
210
+ end
211
+ end
212
+
213
+ def check_facts_limits(facts)
214
+ @number_of_facts = 0
215
+ check_top_level_number_limit(facts.size)
216
+
217
+ parse_fact_name_and_value_limits(facts)
218
+ check_total_number_limit(@number_of_facts)
219
+ Puppet.debug _("The total number of facts registered is %{number_of_facts}") % { number_of_facts: @number_of_facts }
220
+ end
221
+
122
222
  def get_facts(options)
123
223
  if options[:pluginsync]
124
224
  plugin_sync_time = thinmark do
@@ -132,6 +232,7 @@ class Puppet::Configurer
132
232
  end
133
233
 
134
234
  facts_hash = {}
235
+ facts = nil
135
236
  if Puppet::Resource::Catalog.indirection.terminus_class == :rest
136
237
  # This is a bit complicated. We need the serialized and escaped facts,
137
238
  # and we need to know which format they're encoded in. Thus, we
@@ -140,17 +241,19 @@ class Puppet::Configurer
140
241
  # facts_for_uploading may set Puppet[:node_name_value] as a side effect
141
242
  facter_time = thinmark do
142
243
  facts = find_facts
143
- options[:convert_with_facts] = facts
244
+ check_facts_limits(facts.to_data_hash['values'])
144
245
  facts_hash = encode_facts(facts) # encode for uploading # was: facts_for_uploading
246
+ check_payload_size(facts_hash[:facts].bytesize)
145
247
  end
146
248
  options[:report].add_times(:fact_generation, facter_time) if options[:report]
147
249
  end
148
- facts_hash
250
+ [facts_hash, facts]
149
251
  end
150
252
 
151
- def prepare_and_retrieve_catalog(options, query_options)
253
+ def prepare_and_retrieve_catalog(cached_catalog, facts, options, query_options)
152
254
  # set report host name now that we have the fact
153
255
  options[:report].host = Puppet[:node_name_value]
256
+
154
257
  query_options[:transaction_uuid] = @transaction_uuid
155
258
  query_options[:job_id] = @job_id
156
259
  query_options[:static_catalog] = @static_catalog
@@ -160,26 +263,19 @@ class Puppet::Configurer
160
263
  query_options[:checksum_type] = @checksum_type.join('.')
161
264
 
162
265
  # apply passes in ral catalog
163
- catalog = options.delete(:catalog)
164
- return catalog if catalog
165
-
166
- # retrieve_catalog returns json catalog
167
- catalog = retrieve_catalog(query_options)
168
- return convert_catalog(catalog, @duration, options) if catalog
169
-
170
- Puppet.err _("Could not retrieve catalog; skipping run")
171
- nil
266
+ catalog = cached_catalog || options[:catalog]
267
+ unless catalog
268
+ # retrieve_catalog returns resource catalog
269
+ catalog = retrieve_catalog(facts, query_options)
270
+ Puppet.err _("Could not retrieve catalog; skipping run") unless catalog
271
+ end
272
+ catalog
172
273
  end
173
274
 
174
275
  def prepare_and_retrieve_catalog_from_cache(options = {})
175
- result = retrieve_catalog_from_cache({:transaction_uuid => @transaction_uuid, :static_catalog => @static_catalog})
176
- if result
177
- Puppet.info _("Using cached catalog from environment '%{catalog_env}'") % { catalog_env: result.environment }
178
- # get facts now so that the convert_catalog method can resolve deferred values
179
- get_facts(options)
180
- return convert_catalog(result, @duration, options)
181
- end
182
- nil
276
+ result = retrieve_catalog_from_cache({ :transaction_uuid => @transaction_uuid, :static_catalog => @static_catalog })
277
+ Puppet.info _("Using cached catalog from environment '%{catalog_env}'") % { catalog_env: result.environment } if result
278
+ result
183
279
  end
184
280
 
185
281
  # Apply supplied catalog and return associated application report
@@ -201,12 +297,11 @@ class Puppet::Configurer
201
297
  # This just passes any options on to the catalog,
202
298
  # which accepts :tags and :ignoreschedules.
203
299
  def run(options = {})
204
- pool = Puppet::Network::HTTP::Pool.new(Puppet[:http_keepalive_timeout])
205
300
  # We create the report pre-populated with default settings for
206
301
  # environment and transaction_uuid very early, this is to ensure
207
302
  # they are sent regardless of any catalog compilation failures or
208
303
  # exceptions.
209
- options[:report] ||= Puppet::Transaction::Report.new(nil, @environment, @transaction_uuid, @job_id)
304
+ options[:report] ||= Puppet::Transaction::Report.new(nil, @environment, @transaction_uuid, @job_id, options[:start_time] || Time.now)
210
305
  report = options[:report]
211
306
  init_storage
212
307
 
@@ -214,41 +309,53 @@ class Puppet::Configurer
214
309
 
215
310
  completed = nil
216
311
  begin
217
- Puppet.override(:http_pool => pool) do
218
-
219
- # Skip failover logic if the server_list setting is empty
220
- if Puppet.settings[:server_list].nil? || Puppet.settings[:server_list].empty?
221
- do_failover = false
222
- else
223
- do_failover = true
224
- end
225
- # When we are passed a catalog, that means we're in apply
226
- # mode. We shouldn't try to do any failover in that case.
227
- if options[:catalog].nil? && do_failover
228
- server, port = find_functional_server
229
- Puppet.override(server: server, serverport: port) do
230
- if server
231
- Puppet.debug _("Selected puppet server: %{server}:%{port}") % { server: server, port: port }
232
- report.master_used = "#{server}:#{port}"
233
- else
234
- Puppet.warning _("Could not select a functional puppet server")
235
- end
236
- completed = run_internal(options)
312
+ # Skip failover logic if the server_list setting is empty
313
+ do_failover = Puppet.settings[:server_list] && !Puppet.settings[:server_list].empty?
314
+
315
+ # When we are passed a catalog, that means we're in apply
316
+ # mode. We shouldn't try to do any failover in that case.
317
+ if options[:catalog].nil? && do_failover
318
+ server, port = find_functional_server
319
+ if server.nil?
320
+ detail = _("Could not select a functional puppet server from server_list: '%{server_list}'") % { server_list: Puppet.settings.value(:server_list, Puppet[:environment].to_sym, true) }
321
+ if Puppet[:usecacheonfailure]
322
+ options[:pluginsync] = false
323
+ @running_failure = true
324
+
325
+ server = Puppet[:server_list].first[0]
326
+ port = Puppet[:server_list].first[1] || Puppet[:serverport]
327
+
328
+ Puppet.err(detail)
329
+ else
330
+ raise Puppet::Error, detail
237
331
  end
238
332
  else
333
+ # TRANSLATORS 'server_list' is the name of a setting and should not be translated
334
+ Puppet.debug _("Selected puppet server from the `server_list` setting: %{server}:%{port}") % { server: server, port: port }
335
+ report.server_used = "#{server}:#{port}"
336
+ end
337
+ Puppet.override(server: server, serverport: port) do
239
338
  completed = run_internal(options)
240
339
  end
340
+ else
341
+ completed = run_internal(options)
241
342
  end
242
343
  ensure
243
- pool.close
344
+ # we may sleep for awhile, close connections now
345
+ Puppet.runtime[:http].close
244
346
  end
245
347
 
246
348
  completed ? report.exit_status : nil
247
349
  end
248
350
 
249
351
  def run_internal(options)
250
- start = Time.now
251
352
  report = options[:report]
353
+ report.initial_environment = Puppet[:environment]
354
+
355
+ if options[:start_time]
356
+ startup_time = Time.now - options[:start_time]
357
+ report.add_times(:startup_time, startup_time)
358
+ end
252
359
 
253
360
  # If a cached catalog is explicitly requested, attempt to retrieve it. Skip the node request,
254
361
  # don't pluginsync and switch to the catalog's environment if we successfully retrieve it.
@@ -256,13 +363,13 @@ class Puppet::Configurer
256
363
  Puppet::GettextConfig.reset_text_domain('agent')
257
364
  Puppet::ModuleTranslations.load_from_vardir(Puppet[:vardir])
258
365
 
259
- if catalog = prepare_and_retrieve_catalog_from_cache(options)
260
- options[:catalog] = catalog
366
+ cached_catalog = prepare_and_retrieve_catalog_from_cache(options)
367
+ if cached_catalog
261
368
  @cached_catalog_status = 'explicitly_requested'
262
369
 
263
- if @environment != catalog.environment && !Puppet[:strict_environment_mode]
264
- Puppet.notice _("Local environment: '%{local_env}' doesn't match the environment of the cached catalog '%{catalog_env}', switching agent to '%{catalog_env}'.") % { local_env: @environment, catalog_env: catalog.environment }
265
- @environment = catalog.environment
370
+ if @environment != cached_catalog.environment && !Puppet[:strict_environment_mode]
371
+ Puppet.notice _("Local environment: '%{local_env}' doesn't match the environment of the cached catalog '%{catalog_env}', switching agent to '%{catalog_env}'.") % { local_env: @environment, catalog_env: cached_catalog.environment }
372
+ @environment = cached_catalog.environment
266
373
  end
267
374
 
268
375
  report.environment = @environment
@@ -277,68 +384,51 @@ class Puppet::Configurer
277
384
 
278
385
  begin
279
386
  unless Puppet[:node_name_fact].empty?
280
- query_options = get_facts(options)
387
+ query_options, facts = get_facts(options)
281
388
  end
282
389
 
283
390
  configured_environment = Puppet[:environment] if Puppet.settings.set_by_config?(:environment)
284
391
 
285
392
  # We only need to find out the environment to run in if we don't already have a catalog
286
- unless (options[:catalog] || Puppet[:strict_environment_mode])
287
- begin
288
- node = nil
289
- node_retr_time = thinmark do
290
- node = Puppet::Node.indirection.find(Puppet[:node_name_value],
291
- :environment => Puppet::Node::Environment.remote(@environment),
292
- :configured_environment => configured_environment,
293
- :ignore_cache => true,
294
- :transaction_uuid => @transaction_uuid,
295
- :fail_on_404 => true)
296
- end
297
- options[:report].add_times(:node_retrieval, node_retr_time)
298
-
299
- if node
300
- # If we have deserialized a node from a rest call, we want to set
301
- # an environment instance as a simple 'remote' environment reference.
302
- if !node.has_environment_instance? && node.environment_name
303
- node.environment = Puppet::Node::Environment.remote(node.environment_name)
304
- end
305
-
306
- @node_environment = node.environment.to_s
307
-
308
- if node.environment.to_s != @environment
309
- Puppet.notice _("Local environment: '%{local_env}' doesn't match server specified node environment '%{node_env}', switching agent to '%{node_env}'.") % { local_env: @environment, node_env: node.environment }
310
- @environment = node.environment.to_s
311
- report.environment = @environment
312
- query_options = nil
313
- else
314
- Puppet.info _("Using configured environment '%{env}'") % { env: @environment }
315
- end
316
- end
317
- rescue StandardError => detail
318
- Puppet.warning(_("Unable to fetch my node definition, but the agent run will continue:"))
319
- Puppet.warning(detail)
393
+ unless cached_catalog || options[:catalog] || Puppet.settings.set_by_cli?(:environment) || Puppet[:strict_environment_mode]
394
+ Puppet.debug(_("Environment not passed via CLI and no catalog was given, attempting to find out the last server-specified environment"))
395
+ initial_environment, loaded_last_environment = last_server_specified_environment
396
+
397
+ unless Puppet[:use_last_environment] && loaded_last_environment
398
+ Puppet.debug(_("Requesting environment from the server"))
399
+ initial_environment = current_server_specified_environment(@environment, configured_environment, options)
400
+ end
401
+
402
+ if initial_environment
403
+ @environment = initial_environment
404
+ report.environment = initial_environment
405
+
406
+ push_current_environment_and_loaders
407
+ else
408
+ Puppet.debug(_("Could not find a usable environment in the lastrunfile. Either the file does not exist, does not have the required keys, or the values of 'initial_environment' and 'converged_environment' are identical."))
320
409
  end
321
410
  end
322
411
 
323
- current_environment = Puppet.lookup(:current_environment)
324
- if current_environment.name == @environment.intern
325
- local_node_environment = current_environment
326
- else
327
- local_node_environment = Puppet::Node::Environment.create(@environment,
328
- current_environment.modulepath,
329
- current_environment.manifest,
330
- current_environment.config_version)
412
+ Puppet.info _("Using environment '%{env}'") % { env: @environment }
413
+
414
+ # This is to maintain compatibility with anyone using this class
415
+ # aside from agent, apply, device.
416
+ unless Puppet.lookup(:loaders) { nil }
417
+ push_current_environment_and_loaders
331
418
  end
332
- Puppet.push_context({
333
- :current_environment => local_node_environment,
334
- :loaders => Puppet::Pops::Loaders.new(local_node_environment, true)
335
- }, "Local node environment for configurer transaction")
336
419
 
337
- query_options = get_facts(options) unless query_options
420
+ temp_value = options[:pluginsync]
421
+
422
+ # only validate server environment if pluginsync is requested
423
+ options[:pluginsync] = valid_server_environment? if options[:pluginsync]
424
+
425
+ query_options, facts = get_facts(options) unless query_options
426
+ options[:pluginsync] = temp_value
427
+
338
428
  query_options[:configured_environment] = configured_environment
339
- options[:convert_for_node] = node
340
429
 
341
- unless catalog = prepare_and_retrieve_catalog(options, query_options)
430
+ catalog = prepare_and_retrieve_catalog(cached_catalog, facts, options, query_options)
431
+ unless catalog
342
432
  return nil
343
433
  end
344
434
 
@@ -352,37 +442,84 @@ class Puppet::Configurer
352
442
  # facts may be used to determine which catalog we get, we need to
353
443
  # rerun the process if the environment is changed.
354
444
  tries = 0
355
- while catalog.environment and not catalog.environment.empty? and catalog.environment != @environment
445
+ while catalog.environment and !catalog.environment.empty? and catalog.environment != @environment
356
446
  if tries > 3
357
447
  raise Puppet::Error, _("Catalog environment didn't stabilize after %{tries} fetches, aborting run") % { tries: tries }
358
448
  end
449
+
359
450
  Puppet.notice _("Local environment: '%{local_env}' doesn't match server specified environment '%{catalog_env}', restarting agent run with environment '%{catalog_env}'") % { local_env: @environment, catalog_env: catalog.environment }
360
451
  @environment = catalog.environment
361
452
  report.environment = @environment
362
453
 
363
- query_options = get_facts(options)
454
+ push_current_environment_and_loaders
455
+
456
+ query_options, facts = get_facts(options)
364
457
  query_options[:configured_environment] = configured_environment
365
458
 
366
- return nil unless catalog = prepare_and_retrieve_catalog(options, query_options)
459
+ # if we get here, ignore the cached catalog
460
+ catalog = prepare_and_retrieve_catalog(nil, facts, options, query_options)
461
+ return nil unless catalog
462
+
367
463
  tries += 1
368
464
  end
369
465
 
466
+ # now that environment has converged, convert resource catalog into ral catalog
467
+ # unless we were given a RAL catalog
468
+ if !cached_catalog && options[:catalog]
469
+ ral_catalog = options[:catalog]
470
+ else
471
+ # Ordering here matters. We have to resolve deferred resources in the
472
+ # resource catalog, convert the resource catalog to a RAL catalog (which
473
+ # triggers type/provider validation), and only if that is successful,
474
+ # should we cache the *original* resource catalog. However, deferred
475
+ # evaluation mutates the resource catalog, so we need to make a copy of
476
+ # it here. If PUP-9323 is ever implemented so that we resolve deferred
477
+ # resources in the RAL catalog as they are needed, then we could eliminate
478
+ # this step.
479
+ catalog_to_cache = Puppet.override(:rich_data => Puppet[:rich_data]) do
480
+ Puppet::Resource::Catalog.from_data_hash(catalog.to_data_hash)
481
+ end
482
+
483
+ # REMIND @duration is the time spent loading the last catalog, and doesn't
484
+ # account for things like we failed to download and fell back to the cache
485
+ ral_catalog = convert_catalog(catalog, @duration, facts, options)
486
+
487
+ # Validation succeeded, so commit the `catalog_to_cache` for non-noop runs. Don't
488
+ # commit `catalog` since it contains the result of deferred evaluation. Ideally
489
+ # we'd just copy the downloaded response body, instead of serializing the
490
+ # in-memory catalog, but that's hard due to the indirector.
491
+ indirection = Puppet::Resource::Catalog.indirection
492
+ if !Puppet[:noop] && indirection.cache?
493
+ request = indirection.request(:save, nil, catalog_to_cache, environment: Puppet::Node::Environment.remote(catalog_to_cache.environment))
494
+ Puppet.info("Caching catalog for #{request.key}")
495
+ indirection.cache.save(request)
496
+ end
497
+ end
498
+
370
499
  execute_prerun_command or return nil
371
500
 
372
- options[:report].code_id = catalog.code_id
373
- options[:report].catalog_uuid = catalog.catalog_uuid
501
+ options[:report].code_id = ral_catalog.code_id
502
+ options[:report].catalog_uuid = ral_catalog.catalog_uuid
374
503
  options[:report].cached_catalog_status = @cached_catalog_status
375
- apply_catalog(catalog, options)
504
+ apply_catalog(ral_catalog, options)
376
505
  true
377
506
  rescue => detail
378
507
  Puppet.log_exception(detail, _("Failed to apply catalog: %{detail}") % { detail: detail })
379
- return nil
508
+ nil
380
509
  ensure
381
- execute_postrun_command or return nil
510
+ execute_postrun_command or return nil # rubocop:disable Lint/EnsureReturn
382
511
  end
383
512
  ensure
513
+ if Puppet[:resubmit_facts]
514
+ # TODO: Should mark the report as "failed" if an error occurs and
515
+ # resubmit_facts returns false. There is currently no API for this.
516
+ resubmit_facts_time = thinmark { resubmit_facts }
517
+
518
+ report.add_times(:resubmit_facts, resubmit_facts_time)
519
+ end
520
+
384
521
  report.cached_catalog_status ||= @cached_catalog_status
385
- report.add_times(:total, Time.now - start)
522
+ report.add_times(:total, Time.now - report.time)
386
523
  report.finalize_report
387
524
  Puppet::Util::Log.close(report)
388
525
  send_report(report)
@@ -390,30 +527,118 @@ class Puppet::Configurer
390
527
  end
391
528
  private :run_internal
392
529
 
393
- def find_functional_server
394
- Puppet.settings[:server_list].each do |server|
395
- host = server[0]
396
- port = server[1] || Puppet[:masterport]
397
- begin
398
- http = Puppet::Network::HttpPool.http_ssl_instance(host, port)
399
- response = http.get('/status/v1/simple/master')
400
- return [host, port] if response.is_a?(Net::HTTPOK)
401
-
402
- Puppet.debug(_("Puppet server %{host}:%{port} is unavailable: %{code} %{reason}") %
403
- { host: host, port: port, code: response.code, reason: response.message })
404
- rescue
405
- # Nothing to see here
406
- Puppet.debug(_("Puppet server %{host}:%{port} is unreachable") % { host: host, port: port })
530
+ def valid_server_environment?
531
+ session = Puppet.lookup(:http_session)
532
+ begin
533
+ fs = session.route_to(:fileserver)
534
+ fs.get_file_metadatas(path: URI(Puppet[:pluginsource]).path, recurse: :false, environment: @environment) # rubocop:disable Lint/BooleanSymbol
535
+ true
536
+ rescue Puppet::HTTP::ResponseError => detail
537
+ if detail.response.code == 404
538
+ if Puppet[:strict_environment_mode]
539
+ raise Puppet::Error, _("Environment '%{environment}' not found on server, aborting run.") % { environment: @environment }
540
+ else
541
+ Puppet.notice(_("Environment '%{environment}' not found on server, skipping initial pluginsync.") % { environment: @environment })
542
+ end
543
+ else
544
+ Puppet.log_exception(detail, detail.message)
407
545
  end
546
+ false
547
+ rescue => detail
548
+ Puppet.log_exception(detail, detail.message)
549
+ false
550
+ end
551
+ end
552
+
553
+ def find_functional_server
554
+ begin
555
+ session = Puppet.lookup(:http_session)
556
+ service = session.route_to(:puppet)
557
+ return [service.url.host, service.url.port]
558
+ rescue Puppet::HTTP::ResponseError => e
559
+ Puppet.debug(_("Puppet server %{host}:%{port} is unavailable: %{code} %{reason}") %
560
+ { host: e.response.url.host, port: e.response.url.port, code: e.response.code, reason: e.response.reason })
561
+ rescue => detail
562
+ # TRANSLATORS 'server_list' is the name of a setting and should not be translated
563
+ Puppet.debug _("Unable to connect to server from server_list setting: %{detail}") % { detail: detail }
408
564
  end
409
565
  [nil, nil]
410
566
  end
411
567
  private :find_functional_server
412
568
 
569
+ #
570
+ # @api private
571
+ #
572
+ # Read the last server-specified environment from the lastrunfile. The
573
+ # environment is considered to be server-specified if the values of
574
+ # `initial_environment` and `converged_environment` are different.
575
+ #
576
+ # @return [String, Boolean] An array containing a string with the environment
577
+ # read from the lastrunfile in case the server is authoritative, and a
578
+ # boolean marking whether the last environment was correctly loaded.
579
+ def last_server_specified_environment
580
+ return @last_server_specified_environment, @loaded_last_environment if @last_server_specified_environment
581
+
582
+ if Puppet::FileSystem.exist?(Puppet[:lastrunfile])
583
+ summary = Puppet::Util::Yaml.safe_load_file(Puppet[:lastrunfile])
584
+ return [nil, nil] unless summary['application']['run_mode'] == 'agent'
585
+
586
+ initial_environment = summary['application']['initial_environment']
587
+ converged_environment = summary['application']['converged_environment']
588
+ @last_server_specified_environment = converged_environment if initial_environment != converged_environment
589
+ Puppet.debug(_("Successfully loaded last environment from the lastrunfile"))
590
+ @loaded_last_environment = true
591
+ end
592
+
593
+ Puppet.debug(_("Found last server-specified environment: %{environment}") % { environment: @last_server_specified_environment }) if @last_server_specified_environment
594
+ [@last_server_specified_environment, @loaded_last_environment]
595
+ rescue => detail
596
+ Puppet.debug(_("Could not find last server-specified environment: %{detail}") % { detail: detail })
597
+ [nil, nil]
598
+ end
599
+ private :last_server_specified_environment
600
+
601
+ def current_server_specified_environment(current_environment, configured_environment, options)
602
+ return @server_specified_environment if @server_specified_environment
603
+
604
+ begin
605
+ node_retr_time = thinmark do
606
+ node = Puppet::Node.indirection.find(Puppet[:node_name_value],
607
+ :environment => Puppet::Node::Environment.remote(current_environment),
608
+ :configured_environment => configured_environment,
609
+ :ignore_cache => true,
610
+ :transaction_uuid => @transaction_uuid,
611
+ :fail_on_404 => true)
612
+
613
+ @server_specified_environment = node.environment_name.to_s
614
+
615
+ if @server_specified_environment != @environment
616
+ Puppet.notice _("Local environment: '%{local_env}' doesn't match server specified node environment '%{node_env}', switching agent to '%{node_env}'.") % { local_env: @environment, node_env: @server_specified_environment }
617
+ end
618
+ end
619
+
620
+ options[:report].add_times(:node_retrieval, node_retr_time)
621
+
622
+ @server_specified_environment
623
+ rescue => detail
624
+ Puppet.warning(_("Unable to fetch my node definition, but the agent run will continue:"))
625
+ Puppet.warning(detail)
626
+ nil
627
+ end
628
+ end
629
+ private :current_server_specified_environment
630
+
413
631
  def send_report(report)
414
632
  puts report.summary if Puppet[:summarize]
415
633
  save_last_run_summary(report)
416
- Puppet::Transaction::Report.indirection.save(report, nil, :environment => Puppet::Node::Environment.remote(@environment)) if Puppet[:report]
634
+ if Puppet[:report]
635
+ remote = Puppet::Node::Environment.remote(@environment)
636
+ begin
637
+ Puppet::Transaction::Report.indirection.save(report, nil, ignore_cache: true, environment: remote)
638
+ ensure
639
+ Puppet::Transaction::Report.indirection.save(report, nil, ignore_terminus: true, environment: remote)
640
+ end
641
+ end
417
642
  rescue => detail
418
643
  Puppet.log_exception(detail, _("Could not send report: %{detail}") % { detail: detail })
419
644
  end
@@ -427,6 +652,37 @@ class Puppet::Configurer
427
652
  Puppet.log_exception(detail, _("Could not save last run local report: %{detail}") % { detail: detail })
428
653
  end
429
654
 
655
+ # Submit updated facts to the Puppet Server
656
+ #
657
+ # This method will clear all current fact values, load a fresh set of
658
+ # fact data, and then submit it to the Puppet Server.
659
+ #
660
+ # @return [true] If fact submission succeeds.
661
+ # @return [false] If an exception is raised during fact generation or
662
+ # submission.
663
+ def resubmit_facts
664
+ Puppet.runtime[:facter].clear
665
+ facts = find_facts
666
+
667
+ client = Puppet.runtime[:http]
668
+ session = client.create_session
669
+ puppet = session.route_to(:puppet)
670
+
671
+ Puppet.info(_("Uploading facts for %{node} to %{server}") % {
672
+ node: facts.name,
673
+ server: puppet.url.hostname
674
+ })
675
+
676
+ puppet.put_facts(facts.name, facts: facts, environment: Puppet.lookup(:current_environment).name.to_s)
677
+
678
+ true
679
+ rescue => detail
680
+ Puppet.log_exception(detail, _("Failed to submit facts: %{detail}") %
681
+ { detail: detail })
682
+
683
+ false
684
+ end
685
+
430
686
  private
431
687
 
432
688
  def execute_from_setting(setting)
@@ -441,6 +697,17 @@ class Puppet::Configurer
441
697
  end
442
698
  end
443
699
 
700
+ def push_current_environment_and_loaders
701
+ new_env = Puppet::Node::Environment.remote(@environment)
702
+ Puppet.push_context(
703
+ {
704
+ :current_environment => new_env,
705
+ :loaders => Puppet::Pops::Loaders.new(new_env, true)
706
+ },
707
+ "Local node environment #{@environment} for configurer transaction"
708
+ )
709
+ end
710
+
444
711
  def retrieve_catalog_from_cache(query_options)
445
712
  result = nil
446
713
  @duration = thinmark do
@@ -448,37 +715,45 @@ class Puppet::Configurer
448
715
  Puppet[:node_name_value],
449
716
  query_options.merge(
450
717
  :ignore_terminus => true,
451
- :environment => Puppet::Node::Environment.remote(@environment)
718
+ :environment => Puppet::Node::Environment.remote(@environment)
452
719
  )
453
720
  )
454
721
  end
455
722
  result
456
723
  rescue => detail
457
724
  Puppet.log_exception(detail, _("Could not retrieve catalog from cache: %{detail}") % { detail: detail })
458
- return nil
725
+ nil
459
726
  end
460
727
 
461
- def retrieve_new_catalog(query_options)
728
+ def retrieve_new_catalog(facts, query_options)
462
729
  result = nil
463
730
  @duration = thinmark do
464
731
  result = Puppet::Resource::Catalog.indirection.find(
465
732
  Puppet[:node_name_value],
466
733
  query_options.merge(
467
- :ignore_cache => true,
468
- # We never want to update the cached Catalog if we're running in noop mode.
469
- :ignore_cache_save => Puppet[:noop],
470
- :environment => Puppet::Node::Environment.remote(@environment),
471
- :fail_on_404 => true
734
+ :ignore_cache => true,
735
+ # don't update cache until after environment converges
736
+ :ignore_cache_save => true,
737
+ :environment => Puppet::Node::Environment.remote(@environment),
738
+ :check_environment => true,
739
+ :fail_on_404 => true,
740
+ :facts_for_catalog => facts
472
741
  )
473
742
  )
474
743
  end
475
744
  result
476
745
  rescue StandardError => detail
477
746
  Puppet.log_exception(detail, _("Could not retrieve catalog from remote server: %{detail}") % { detail: detail })
478
- return nil
747
+ nil
479
748
  end
480
749
 
481
750
  def download_plugins(remote_environment_for_plugins)
482
751
  @handler.download_plugins(remote_environment_for_plugins)
752
+ rescue Puppet::Error => detail
753
+ if !Puppet[:ignore_plugin_errors] && Puppet[:usecacheonfailure]
754
+ @running_failure = true
755
+ else
756
+ raise detail
757
+ end
483
758
  end
484
759
  end