puppet 6.22.1 → 6.25.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (415) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +5 -5
  3. data/Gemfile +2 -2
  4. data/Gemfile.lock +20 -20
  5. data/README.md +4 -4
  6. data/{ext → examples/enc}/regexp_nodes/classes/databases +0 -0
  7. data/{ext → examples/enc}/regexp_nodes/classes/webservers +0 -0
  8. data/{ext → examples/enc}/regexp_nodes/environment/development +0 -0
  9. data/{ext → examples/enc}/regexp_nodes/parameters/service/prod +0 -0
  10. data/{ext → examples/enc}/regexp_nodes/parameters/service/qa +0 -0
  11. data/{ext → examples/enc}/regexp_nodes/parameters/service/sandbox +0 -0
  12. data/{ext → examples/enc}/regexp_nodes/regexp_nodes.rb +0 -0
  13. data/{ext → examples}/nagios/check_puppet.rb +2 -2
  14. data/ext/README.md +13 -0
  15. data/ext/osx/puppet.plist +2 -0
  16. data/ext/project_data.yaml +1 -0
  17. data/lib/puppet/application/agent.rb +16 -5
  18. data/lib/puppet/application/apply.rb +22 -3
  19. data/lib/puppet/application/device.rb +2 -1
  20. data/lib/puppet/application/filebucket.rb +1 -0
  21. data/lib/puppet/application/resource.rb +32 -16
  22. data/lib/puppet/application/script.rb +2 -1
  23. data/lib/puppet/application/ssl.rb +1 -0
  24. data/lib/puppet/concurrent/thread_local_singleton.rb +1 -0
  25. data/lib/puppet/configurer/downloader.rb +2 -1
  26. data/lib/puppet/configurer.rb +144 -56
  27. data/lib/puppet/confine/variable.rb +1 -1
  28. data/lib/puppet/defaults.rb +47 -33
  29. data/lib/puppet/environments.rb +75 -25
  30. data/lib/puppet/face/facts.rb +1 -1
  31. data/lib/puppet/face/help/action.erb +1 -0
  32. data/lib/puppet/face/help/face.erb +1 -0
  33. data/lib/puppet/face/node/clean.rb +11 -0
  34. data/lib/puppet/facter_impl.rb +96 -0
  35. data/lib/puppet/file_serving/configuration/parser.rb +2 -0
  36. data/lib/puppet/file_serving/configuration.rb +3 -0
  37. data/lib/puppet/file_serving/fileset.rb +14 -2
  38. data/lib/puppet/file_serving/mount/file.rb +4 -4
  39. data/lib/puppet/file_serving/mount/scripts.rb +24 -0
  40. data/lib/puppet/file_system/file_impl.rb +3 -1
  41. data/lib/puppet/file_system/windows.rb +2 -2
  42. data/lib/puppet/forge.rb +4 -4
  43. data/lib/puppet/functions/all.rb +1 -1
  44. data/lib/puppet/functions/camelcase.rb +1 -1
  45. data/lib/puppet/functions/capitalize.rb +2 -2
  46. data/lib/puppet/functions/downcase.rb +2 -2
  47. data/lib/puppet/functions/empty.rb +8 -0
  48. data/lib/puppet/functions/find_template.rb +2 -2
  49. data/lib/puppet/functions/get.rb +5 -5
  50. data/lib/puppet/functions/group_by.rb +13 -5
  51. data/lib/puppet/functions/lest.rb +1 -1
  52. data/lib/puppet/functions/new.rb +100 -100
  53. data/lib/puppet/functions/partition.rb +4 -4
  54. data/lib/puppet/functions/require.rb +5 -5
  55. data/lib/puppet/functions/sort.rb +3 -3
  56. data/lib/puppet/functions/strftime.rb +1 -0
  57. data/lib/puppet/functions/tree_each.rb +7 -9
  58. data/lib/puppet/functions/type.rb +4 -4
  59. data/lib/puppet/functions/unwrap.rb +17 -2
  60. data/lib/puppet/functions/upcase.rb +2 -2
  61. data/lib/puppet/http/client.rb +1 -1
  62. data/lib/puppet/http/redirector.rb +5 -0
  63. data/lib/puppet/http/resolver/server_list.rb +15 -4
  64. data/lib/puppet/http/service/compiler.rb +75 -1
  65. data/lib/puppet/http/service/file_server.rb +2 -1
  66. data/lib/puppet/indirector/catalog/compiler.rb +25 -6
  67. data/lib/puppet/indirector/catalog/rest.rb +1 -0
  68. data/lib/puppet/indirector/facts/facter.rb +6 -6
  69. data/lib/puppet/indirector/file_metadata/rest.rb +1 -0
  70. data/lib/puppet/indirector/indirection.rb +1 -1
  71. data/lib/puppet/indirector/resource/ral.rb +6 -1
  72. data/lib/puppet/indirector/terminus.rb +4 -0
  73. data/lib/puppet/interface/documentation.rb +1 -0
  74. data/lib/puppet/module/plan.rb +0 -1
  75. data/lib/puppet/module/task.rb +1 -1
  76. data/lib/puppet/module.rb +1 -0
  77. data/lib/puppet/module_tool/applications/installer.rb +12 -4
  78. data/lib/puppet/module_tool/applications/uninstaller.rb +1 -1
  79. data/lib/puppet/module_tool/applications/upgrader.rb +1 -1
  80. data/lib/puppet/module_tool/errors/shared.rb +17 -0
  81. data/lib/puppet/network/http/api/indirected_routes.rb +1 -1
  82. data/lib/puppet/node/environment.rb +10 -11
  83. data/lib/puppet/pal/pal_impl.rb +1 -1
  84. data/lib/puppet/parser/functions/fqdn_rand.rb +14 -6
  85. data/lib/puppet/parser/resource.rb +1 -1
  86. data/lib/puppet/parser/scope.rb +1 -0
  87. data/lib/puppet/parser/templatewrapper.rb +1 -0
  88. data/lib/puppet/pops/evaluator/closure.rb +7 -5
  89. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +1 -0
  90. data/lib/puppet/pops/lookup/lookup_adapter.rb +3 -2
  91. data/lib/puppet/pops/model/ast.rb +1 -0
  92. data/lib/puppet/pops/model/factory.rb +2 -1
  93. data/lib/puppet/pops/parser/eparser.rb +201 -201
  94. data/lib/puppet/pops/parser/lexer2.rb +92 -91
  95. data/lib/puppet/pops/parser/slurp_support.rb +1 -0
  96. data/lib/puppet/pops/serialization/to_data_converter.rb +18 -6
  97. data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -1
  98. data/lib/puppet/pops/types/p_sem_ver_type.rb +8 -2
  99. data/lib/puppet/pops/types/p_sensitive_type.rb +10 -0
  100. data/lib/puppet/pops/types/type_formatter.rb +4 -3
  101. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
  102. data/lib/puppet/pops/types/types.rb +1 -1
  103. data/lib/puppet/provider/aix_object.rb +1 -1
  104. data/lib/puppet/provider/exec/posix.rb +16 -4
  105. data/lib/puppet/provider/group/groupadd.rb +5 -2
  106. data/lib/puppet/provider/package/nim.rb +11 -6
  107. data/lib/puppet/provider/package/pip.rb +15 -3
  108. data/lib/puppet/provider/package/pkg.rb +19 -2
  109. data/lib/puppet/provider/package/puppetserver_gem.rb +1 -1
  110. data/lib/puppet/provider/package/yum.rb +1 -1
  111. data/lib/puppet/provider/parsedfile.rb +3 -0
  112. data/lib/puppet/provider/service/base.rb +1 -1
  113. data/lib/puppet/provider/service/init.rb +5 -5
  114. data/lib/puppet/provider/service/launchd.rb +2 -2
  115. data/lib/puppet/provider/service/redhat.rb +1 -1
  116. data/lib/puppet/provider/service/smf.rb +3 -3
  117. data/lib/puppet/provider/service/systemd.rb +15 -5
  118. data/lib/puppet/provider/service/upstart.rb +5 -5
  119. data/lib/puppet/provider/service/windows.rb +38 -0
  120. data/lib/puppet/provider/user/aix.rb +44 -1
  121. data/lib/puppet/provider/user/directoryservice.rb +26 -13
  122. data/lib/puppet/provider/user/useradd.rb +72 -16
  123. data/lib/puppet/provider.rb +1 -1
  124. data/lib/puppet/reference/configuration.rb +1 -1
  125. data/lib/puppet/reference/providers.rb +2 -2
  126. data/lib/puppet/resource/catalog.rb +1 -1
  127. data/lib/puppet/resource/type_collection.rb +1 -0
  128. data/lib/puppet/resource.rb +38 -5
  129. data/lib/puppet/runtime.rb +11 -1
  130. data/lib/puppet/settings.rb +32 -9
  131. data/lib/puppet/test/test_helper.rb +4 -1
  132. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  133. data/lib/puppet/transaction/persistence.rb +11 -1
  134. data/lib/puppet/transaction/report.rb +15 -1
  135. data/lib/puppet/type/exec.rb +35 -5
  136. data/lib/puppet/type/file/mode.rb +6 -0
  137. data/lib/puppet/type/file/selcontext.rb +1 -1
  138. data/lib/puppet/type/file.rb +25 -7
  139. data/lib/puppet/type/filebucket.rb +3 -3
  140. data/lib/puppet/type/group.rb +0 -1
  141. data/lib/puppet/type/resources.rb +1 -1
  142. data/lib/puppet/type/service.rb +26 -41
  143. data/lib/puppet/type/tidy.rb +22 -3
  144. data/lib/puppet/type/user.rb +38 -21
  145. data/lib/puppet/type.rb +1 -1
  146. data/lib/puppet/util/command_line.rb +1 -1
  147. data/lib/puppet/util/filetype.rb +2 -2
  148. data/lib/puppet/util/json.rb +3 -0
  149. data/lib/puppet/util/log.rb +1 -2
  150. data/lib/puppet/util/logging.rb +1 -25
  151. data/lib/puppet/util/pidlock.rb +1 -1
  152. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -1
  153. data/lib/puppet/util/selinux.rb +30 -4
  154. data/lib/puppet/util/suidmanager.rb +1 -2
  155. data/lib/puppet/util/symbolic_file_mode.rb +29 -17
  156. data/lib/puppet/util/tagging.rb +1 -0
  157. data/lib/puppet/util/windows/service.rb +0 -5
  158. data/lib/puppet/util/windows/sid.rb +3 -1
  159. data/lib/puppet/util/windows/user.rb +0 -2
  160. data/lib/puppet/util/windows.rb +3 -0
  161. data/lib/puppet/util.rb +4 -3
  162. data/lib/puppet/version.rb +1 -1
  163. data/lib/puppet.rb +5 -9
  164. data/locales/puppet.pot +408 -364
  165. data/man/man5/puppet.conf.5 +303 -275
  166. data/man/man8/puppet-agent.8 +4 -1
  167. data/man/man8/puppet-apply.8 +1 -1
  168. data/man/man8/puppet-catalog.8 +9 -9
  169. data/man/man8/puppet-config.8 +1 -1
  170. data/man/man8/puppet-describe.8 +1 -1
  171. data/man/man8/puppet-device.8 +1 -1
  172. data/man/man8/puppet-doc.8 +1 -1
  173. data/man/man8/puppet-epp.8 +1 -1
  174. data/man/man8/puppet-facts.8 +8 -8
  175. data/man/man8/puppet-filebucket.8 +1 -1
  176. data/man/man8/puppet-generate.8 +1 -1
  177. data/man/man8/puppet-help.8 +1 -1
  178. data/man/man8/puppet-key.8 +7 -7
  179. data/man/man8/puppet-lookup.8 +1 -1
  180. data/man/man8/puppet-man.8 +1 -1
  181. data/man/man8/puppet-module.8 +3 -3
  182. data/man/man8/puppet-node.8 +5 -5
  183. data/man/man8/puppet-parser.8 +1 -1
  184. data/man/man8/puppet-plugin.8 +1 -1
  185. data/man/man8/puppet-report.8 +5 -5
  186. data/man/man8/puppet-resource.8 +1 -1
  187. data/man/man8/puppet-script.8 +1 -1
  188. data/man/man8/puppet-ssl.8 +1 -1
  189. data/man/man8/puppet-status.8 +4 -4
  190. data/man/man8/puppet.8 +2 -2
  191. data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +2 -1
  192. data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +3 -0
  193. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +4 -0
  194. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +3 -0
  195. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +8 -0
  196. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +25 -0
  197. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +19 -0
  198. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +20 -0
  199. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +8 -0
  200. data/spec/fixtures/ssl/127.0.0.1-key.pem +107 -57
  201. data/spec/fixtures/ssl/127.0.0.1.pem +52 -31
  202. data/spec/fixtures/ssl/bad-basic-constraints.pem +57 -35
  203. data/spec/fixtures/ssl/bad-int-basic-constraints.pem +57 -35
  204. data/spec/fixtures/ssl/ca.pem +57 -35
  205. data/spec/fixtures/ssl/crl.pem +28 -18
  206. data/spec/fixtures/ssl/ec-key.pem +11 -11
  207. data/spec/fixtures/ssl/ec.pem +33 -24
  208. data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
  209. data/spec/fixtures/ssl/encrypted-key.pem +108 -58
  210. data/spec/fixtures/ssl/intermediate-agent-crl.pem +28 -19
  211. data/spec/fixtures/ssl/intermediate-agent.pem +57 -36
  212. data/spec/fixtures/ssl/intermediate-crl.pem +31 -21
  213. data/spec/fixtures/ssl/intermediate.pem +57 -36
  214. data/spec/fixtures/ssl/oid-key.pem +117 -0
  215. data/spec/fixtures/ssl/oid.pem +69 -0
  216. data/spec/fixtures/ssl/pluto-key.pem +107 -57
  217. data/spec/fixtures/ssl/pluto.pem +52 -30
  218. data/spec/fixtures/ssl/request-key.pem +107 -57
  219. data/spec/fixtures/ssl/request.pem +47 -26
  220. data/spec/fixtures/ssl/revoked-key.pem +107 -57
  221. data/spec/fixtures/ssl/revoked.pem +52 -30
  222. data/spec/fixtures/ssl/signed-key.pem +107 -57
  223. data/spec/fixtures/ssl/signed.pem +52 -30
  224. data/spec/fixtures/ssl/tampered-cert.pem +52 -30
  225. data/spec/fixtures/ssl/tampered-csr.pem +47 -26
  226. data/spec/fixtures/ssl/trusted_oid_mapping.yaml +5 -0
  227. data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +107 -57
  228. data/spec/fixtures/ssl/unknown-127.0.0.1.pem +50 -29
  229. data/spec/fixtures/ssl/unknown-ca-key.pem +107 -57
  230. data/spec/fixtures/ssl/unknown-ca.pem +55 -33
  231. data/spec/integration/application/agent_spec.rb +141 -37
  232. data/spec/integration/application/filebucket_spec.rb +16 -0
  233. data/spec/integration/application/module_spec.rb +21 -0
  234. data/spec/integration/application/resource_spec.rb +64 -0
  235. data/spec/integration/application/ssl_spec.rb +20 -0
  236. data/spec/integration/configurer_spec.rb +18 -2
  237. data/spec/integration/environments/settings_interpolation_spec.rb +0 -4
  238. data/spec/integration/indirector/facts/facter_spec.rb +93 -39
  239. data/spec/integration/l10n/compiler_spec.rb +37 -0
  240. data/spec/integration/parser/pcore_resource_spec.rb +10 -0
  241. data/spec/integration/transaction/report_spec.rb +1 -1
  242. data/spec/integration/type/exec_spec.rb +70 -45
  243. data/spec/integration/type/file_spec.rb +2 -2
  244. data/spec/integration/type/package_spec.rb +6 -6
  245. data/spec/integration/util/rdoc/parser_spec.rb +1 -1
  246. data/spec/integration/util/windows/process_spec.rb +1 -9
  247. data/spec/lib/puppet/test_ca.rb +7 -2
  248. data/spec/lib/puppet_spec/modules.rb +13 -2
  249. data/spec/lib/puppet_spec/puppetserver.rb +15 -0
  250. data/spec/lib/puppet_spec/settings.rb +1 -0
  251. data/spec/shared_behaviours/documentation_on_faces.rb +0 -2
  252. data/spec/shared_contexts/l10n.rb +27 -0
  253. data/spec/spec_helper.rb +1 -10
  254. data/spec/unit/application/agent_spec.rb +7 -2
  255. data/spec/unit/application/apply_spec.rb +76 -56
  256. data/spec/unit/application/resource_spec.rb +29 -0
  257. data/spec/unit/configurer/downloader_spec.rb +6 -0
  258. data/spec/unit/configurer_spec.rb +256 -57
  259. data/spec/unit/defaults_spec.rb +1 -0
  260. data/spec/unit/environments_spec.rb +184 -0
  261. data/spec/unit/facter_impl_spec.rb +31 -0
  262. data/spec/unit/file_bucket/dipper_spec.rb +2 -2
  263. data/spec/unit/file_serving/configuration/parser_spec.rb +23 -0
  264. data/spec/unit/file_serving/configuration_spec.rb +14 -4
  265. data/spec/unit/file_serving/fileset_spec.rb +60 -0
  266. data/spec/unit/file_serving/mount/scripts_spec.rb +69 -0
  267. data/spec/unit/file_system_spec.rb +13 -0
  268. data/spec/unit/functions/assert_type_spec.rb +1 -1
  269. data/spec/unit/functions/empty_spec.rb +10 -0
  270. data/spec/unit/functions/logging_spec.rb +1 -0
  271. data/spec/unit/functions/lookup_spec.rb +64 -0
  272. data/spec/unit/functions/unwrap_spec.rb +8 -0
  273. data/spec/unit/functions4_spec.rb +2 -2
  274. data/spec/unit/gettext/config_spec.rb +12 -0
  275. data/spec/unit/http/client_spec.rb +58 -1
  276. data/spec/unit/http/service/compiler_spec.rb +131 -0
  277. data/spec/unit/indirector/catalog/compiler_spec.rb +101 -10
  278. data/spec/unit/indirector/catalog/rest_spec.rb +8 -0
  279. data/spec/unit/indirector/indirection_spec.rb +10 -3
  280. data/spec/unit/indirector/resource/ral_spec.rb +40 -75
  281. data/spec/unit/interface/action_spec.rb +0 -9
  282. data/spec/unit/module_spec.rb +15 -1
  283. data/spec/unit/module_tool/applications/installer_spec.rb +51 -12
  284. data/spec/unit/network/authstore_spec.rb +0 -15
  285. data/spec/unit/network/formats_spec.rb +6 -0
  286. data/spec/unit/parser/functions/fqdn_rand_spec.rb +15 -1
  287. data/spec/unit/parser/templatewrapper_spec.rb +12 -2
  288. data/spec/unit/pops/parser/parse_containers_spec.rb +0 -11
  289. data/spec/unit/pops/serialization/to_from_hr_spec.rb +58 -0
  290. data/spec/unit/pops/serialization/to_stringified_spec.rb +5 -0
  291. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +18 -0
  292. data/spec/unit/pops/types/p_sensitive_type_spec.rb +18 -0
  293. data/spec/unit/pops/types/type_calculator_spec.rb +6 -0
  294. data/spec/unit/provider/package/gem_spec.rb +1 -1
  295. data/spec/unit/provider/package/nim_spec.rb +42 -0
  296. data/spec/unit/provider/package/pip2_spec.rb +1 -1
  297. data/spec/unit/provider/package/pip3_spec.rb +1 -1
  298. data/spec/unit/provider/package/pip_spec.rb +38 -1
  299. data/spec/unit/provider/package/pkg_spec.rb +29 -4
  300. data/spec/unit/provider/package/puppet_gem_spec.rb +1 -1
  301. data/spec/unit/provider/package/puppetserver_gem_spec.rb +1 -1
  302. data/spec/unit/provider/parsedfile_spec.rb +10 -0
  303. data/spec/unit/provider/service/init_spec.rb +1 -0
  304. data/spec/unit/provider/service/launchd_spec.rb +11 -0
  305. data/spec/unit/provider/service/openwrt_spec.rb +3 -1
  306. data/spec/unit/provider/service/systemd_spec.rb +43 -9
  307. data/spec/unit/provider/service/windows_spec.rb +202 -0
  308. data/spec/unit/provider/user/aix_spec.rb +100 -0
  309. data/spec/unit/provider/user/directoryservice_spec.rb +68 -36
  310. data/spec/unit/provider/user/useradd_spec.rb +43 -2
  311. data/spec/unit/provider_spec.rb +4 -4
  312. data/spec/unit/puppet_spec.rb +12 -4
  313. data/spec/unit/resource/catalog_spec.rb +14 -1
  314. data/spec/unit/resource_spec.rb +58 -2
  315. data/spec/unit/settings_spec.rb +97 -56
  316. data/spec/unit/ssl/certificate_request_spec.rb +8 -14
  317. data/spec/unit/ssl/state_machine_spec.rb +19 -5
  318. data/spec/unit/transaction/additional_resource_generator_spec.rb +0 -2
  319. data/spec/unit/transaction_spec.rb +18 -20
  320. data/spec/unit/type/exec_spec.rb +76 -29
  321. data/spec/unit/type/file/selinux_spec.rb +3 -3
  322. data/spec/unit/type/file/source_spec.rb +4 -4
  323. data/spec/unit/type/service_spec.rb +86 -188
  324. data/spec/unit/type/tidy_spec.rb +24 -7
  325. data/spec/unit/type/user_spec.rb +45 -0
  326. data/spec/unit/type_spec.rb +2 -2
  327. data/spec/unit/util/logging_spec.rb +2 -0
  328. data/spec/unit/util/selinux_spec.rb +87 -16
  329. data/spec/unit/util/windows/sid_spec.rb +39 -4
  330. data/tasks/generate_cert_fixtures.rake +12 -3
  331. data/tasks/parallel.rake +3 -3
  332. metadata +49 -95
  333. data/ext/README.environment +0 -8
  334. data/ext/dbfix.sql +0 -132
  335. data/ext/debian/README.Debian +0 -8
  336. data/ext/debian/README.source +0 -2
  337. data/ext/debian/TODO.Debian +0 -1
  338. data/ext/debian/changelog.erb +0 -1122
  339. data/ext/debian/compat +0 -1
  340. data/ext/debian/control +0 -144
  341. data/ext/debian/copyright +0 -339
  342. data/ext/debian/docs +0 -1
  343. data/ext/debian/fileserver.conf +0 -41
  344. data/ext/debian/puppet-common.dirs +0 -13
  345. data/ext/debian/puppet-common.install +0 -3
  346. data/ext/debian/puppet-common.lintian-overrides +0 -5
  347. data/ext/debian/puppet-common.manpages +0 -28
  348. data/ext/debian/puppet-common.postinst +0 -35
  349. data/ext/debian/puppet-common.postrm +0 -33
  350. data/ext/debian/puppet-el.dirs +0 -1
  351. data/ext/debian/puppet-el.emacsen-install +0 -25
  352. data/ext/debian/puppet-el.emacsen-remove +0 -11
  353. data/ext/debian/puppet-el.emacsen-startup +0 -9
  354. data/ext/debian/puppet-el.install +0 -1
  355. data/ext/debian/puppet-testsuite.install +0 -2
  356. data/ext/debian/puppet-testsuite.lintian-overrides +0 -4
  357. data/ext/debian/puppet.lintian-overrides +0 -3
  358. data/ext/debian/puppet.logrotate +0 -20
  359. data/ext/debian/puppet.postinst +0 -20
  360. data/ext/debian/puppet.postrm +0 -20
  361. data/ext/debian/puppet.preinst +0 -20
  362. data/ext/debian/puppetmaster-common.install +0 -2
  363. data/ext/debian/puppetmaster-common.manpages +0 -2
  364. data/ext/debian/puppetmaster-common.postinst +0 -6
  365. data/ext/debian/puppetmaster-passenger.dirs +0 -4
  366. data/ext/debian/puppetmaster-passenger.postinst +0 -162
  367. data/ext/debian/puppetmaster-passenger.postrm +0 -61
  368. data/ext/debian/puppetmaster.README.debian +0 -17
  369. data/ext/debian/puppetmaster.default +0 -14
  370. data/ext/debian/puppetmaster.init +0 -137
  371. data/ext/debian/puppetmaster.lintian-overrides +0 -3
  372. data/ext/debian/puppetmaster.postinst +0 -20
  373. data/ext/debian/puppetmaster.postrm +0 -5
  374. data/ext/debian/puppetmaster.preinst +0 -22
  375. data/ext/debian/rules +0 -132
  376. data/ext/debian/source/format +0 -1
  377. data/ext/debian/source/options +0 -1
  378. data/ext/debian/vim-puppet.README.Debian +0 -13
  379. data/ext/debian/vim-puppet.dirs +0 -5
  380. data/ext/debian/vim-puppet.yaml +0 -7
  381. data/ext/debian/watch +0 -2
  382. data/ext/freebsd/puppetd +0 -26
  383. data/ext/freebsd/puppetmasterd +0 -26
  384. data/ext/gentoo/conf.d/puppet +0 -5
  385. data/ext/gentoo/conf.d/puppetmaster +0 -12
  386. data/ext/gentoo/init.d/puppet +0 -38
  387. data/ext/gentoo/init.d/puppetmaster +0 -51
  388. data/ext/gentoo/puppet/fileserver.conf +0 -41
  389. data/ext/ips/puppet-agent +0 -44
  390. data/ext/ips/puppet-master +0 -44
  391. data/ext/ips/puppet.p5m.erb +0 -12
  392. data/ext/ips/puppetagent.xml +0 -42
  393. data/ext/ips/puppetmaster.xml +0 -42
  394. data/ext/ips/rules +0 -19
  395. data/ext/ips/transforms +0 -34
  396. data/ext/ldap/puppet.schema +0 -24
  397. data/ext/logcheck/puppet +0 -23
  398. data/ext/osx/file_mapping.yaml +0 -33
  399. data/ext/osx/postflight.erb +0 -109
  400. data/ext/osx/preflight.erb +0 -52
  401. data/ext/osx/prototype.plist.erb +0 -38
  402. data/ext/redhat/fileserver.conf +0 -41
  403. data/ext/redhat/logrotate +0 -21
  404. data/ext/redhat/puppet.spec.erb +0 -842
  405. data/ext/redhat/server.init +0 -128
  406. data/ext/redhat/server.sysconfig +0 -13
  407. data/ext/solaris/pkginfo +0 -6
  408. data/ext/solaris/smf/puppetd.xml +0 -77
  409. data/ext/solaris/smf/puppetmasterd.xml +0 -77
  410. data/ext/solaris/smf/svc-puppetd +0 -71
  411. data/ext/solaris/smf/svc-puppetmasterd +0 -67
  412. data/ext/suse/puppet.spec +0 -310
  413. data/ext/suse/server.init +0 -173
  414. data/ext/yaml_nodes.rb +0 -105
  415. data/spec/unit/indirector/store_configs_spec.rb +0 -7
@@ -1,67 +1,117 @@
1
- RSA Private-Key: (1024 bit, 2 primes)
1
+ RSA Private-Key: (2048 bit, 2 primes)
2
2
  modulus:
3
- 00:c1:5e:5d:26:ae:73:17:5a:70:37:ac:42:25:ca:
4
- 05:10:86:17:23:6c:28:84:48:2a:4a:d4:b0:3a:2a:
5
- d8:33:ae:58:67:6f:9b:4f:a6:b4:87:b1:ec:37:00:
6
- 69:8d:d5:cf:71:8a:96:e1:4a:f8:c8:81:36:f9:43:
7
- ad:d8:d6:76:83:27:99:a4:48:17:c2:ef:9c:22:40:
8
- 4b:c6:58:21:88:e5:1d:37:79:4e:ba:31:e6:52:ec:
9
- 8c:23:ed:d6:ce:3b:58:ad:82:c7:ae:28:47:d4:e7:
10
- cc:31:ac:78:c9:02:87:d0:b1:91:09:f6:1e:9a:c3:
11
- 4f:f6:5a:fe:a2:21:0e:c0:95
3
+ 00:b4:79:b0:16:e7:9b:22:20:17:4b:36:87:eb:38:
4
+ 03:1f:df:88:00:1b:37:40:5e:1f:1d:89:1f:3e:f4:
5
+ fa:69:90:9c:d8:68:df:c8:71:07:07:4e:01:1d:f0:
6
+ a8:9a:67:94:af:47:f2:b8:60:f5:ca:fb:bb:ac:7c:
7
+ 23:58:59:bc:95:b0:ad:b2:c7:a0:28:e1:4f:1e:c4:
8
+ ef:5f:2b:a3:4e:f2:6a:95:c8:4f:f5:af:bc:fa:36:
9
+ 10:f9:a9:62:7a:04:d5:01:cd:9b:ba:97:32:4c:99:
10
+ e5:88:fc:05:84:34:f5:4a:f2:f1:ec:04:c7:c7:63:
11
+ 28:eb:9e:ee:91:cd:95:8b:60:9e:5f:51:a1:2b:5a:
12
+ cd:02:b2:a7:52:6c:d1:8a:ab:b1:c4:52:cd:10:ce:
13
+ 9e:56:24:6c:63:84:2c:15:6c:c0:62:ea:c2:d9:04:
14
+ 88:e2:e2:0f:ff:ce:87:51:eb:77:50:83:33:1c:c7:
15
+ 88:5b:08:d4:3a:22:2f:13:a6:89:f7:4b:a0:2e:30:
16
+ c1:12:7a:bb:37:1f:aa:87:56:44:2f:5a:63:4b:b2:
17
+ 36:f6:29:5e:b8:67:52:6f:63:2a:ad:3d:c3:a5:45:
18
+ af:97:e9:85:9e:76:1e:51:9c:68:36:58:32:ad:cf:
19
+ 3e:4d:f0:92:e2:ad:d6:f0:e1:5d:af:08:ca:2a:82:
20
+ 0e:a3
12
21
  publicExponent: 65537 (0x10001)
13
22
  privateExponent:
14
- 60:5b:b7:ab:98:ee:fd:4a:31:f5:6c:3f:a2:39:23:
15
- 80:f2:71:01:53:da:74:e0:c9:42:74:ee:44:6e:29:
16
- 42:c7:b4:82:06:d9:ac:3d:74:64:d2:42:d5:bd:bc:
17
- db:d3:1a:06:88:7b:5b:55:52:d8:07:9b:ef:66:cc:
18
- 70:eb:9e:2e:2b:7e:c1:34:84:9a:83:34:b2:70:c6:
19
- 59:72:60:a0:f4:f5:d9:f2:76:ae:bf:7d:23:35:ee:
20
- ad:b1:2d:c1:fe:05:7d:5b:7f:2c:da:87:ec:6e:b0:
21
- a3:08:c9:bd:e5:30:a4:c2:6e:6e:50:c0:5e:31:f6:
22
- 33:ef:86:57:64:45:b7:c1
23
+ 00:9b:ce:8e:a2:47:93:5b:b3:be:c8:75:2c:84:7a:
24
+ 97:df:f5:78:11:37:6d:cc:c9:35:2d:a7:8a:ed:2c:
25
+ 4b:df:c5:34:53:74:be:f5:e9:f6:7a:6c:f2:73:e9:
26
+ a7:75:9d:c4:f4:4a:36:16:cd:c6:85:56:2c:a0:ed:
27
+ 8f:0a:20:76:b9:f8:8d:0c:d2:60:c7:ca:34:27:49:
28
+ 37:aa:bf:1e:be:f2:73:e8:19:c6:46:42:50:f0:e6:
29
+ aa:63:0f:c3:ef:b9:aa:37:63:4d:75:9a:40:97:77:
30
+ 29:7d:c8:ad:ee:84:55:dc:3d:bf:73:d6:70:af:07:
31
+ 41:75:a1:81:2f:29:00:59:11:3e:98:49:12:ec:e9:
32
+ 9d:ca:ca:71:1e:bc:2f:9f:13:9c:5c:01:54:6d:69:
33
+ 6b:85:6f:2a:2f:96:a5:38:37:e3:0c:7d:9f:6c:12:
34
+ a4:13:1b:bf:cb:35:16:88:a6:c6:47:6f:0b:61:22:
35
+ c2:de:00:7a:b1:70:f6:1e:01:99:70:87:1d:23:21:
36
+ 0f:bf:41:59:16:75:40:8e:7c:50:73:bb:ce:17:7c:
37
+ 07:ec:f2:83:12:95:4e:6a:ac:79:89:8f:32:58:61:
38
+ af:55:df:30:1d:3a:d1:f3:fa:ee:74:27:73:62:f8:
39
+ c4:e2:b2:e3:a5:64:e4:6b:4b:86:13:44:00:3d:51:
40
+ 45:d9
23
41
  prime1:
24
- 00:e1:d6:07:8c:c6:4d:90:fa:d6:40:9a:1f:e5:34:
25
- 50:16:72:9f:5b:83:c1:60:d5:73:39:c2:c6:ec:3a:
26
- ed:24:fe:aa:5d:16:14:ba:85:a4:7d:5a:94:e8:63:
27
- f9:dd:25:a8:2c:6b:ca:7c:43:c7:a9:92:ae:35:5c:
28
- 85:47:9e:51:e9
42
+ 00:da:9b:01:67:9b:20:66:3b:69:da:ce:9e:ac:fa:
43
+ 03:84:8e:da:fb:04:8d:9b:f0:ff:c9:55:a4:26:c4:
44
+ b8:e3:1c:47:7d:fb:f5:2e:f6:50:22:75:63:ac:b7:
45
+ 2d:f0:d5:75:0f:04:d5:e6:ee:75:9c:15:9f:e4:5c:
46
+ 76:2c:0b:df:7f:9d:5f:16:3a:8a:82:36:6b:c9:fc:
47
+ 49:e1:83:fe:cf:85:e1:fc:80:60:06:33:b2:e6:54:
48
+ 6c:ba:29:6e:e4:3a:ee:d7:e6:0a:d6:bd:27:5d:40:
49
+ e0:89:97:89:2a:3e:cf:a5:ec:ae:5f:db:df:3e:e8:
50
+ c4:b0:9a:77:96:4d:a1:5e:5d
29
51
  prime2:
30
- 00:db:32:2e:59:ea:22:83:ce:d3:d5:7b:cb:b9:81:
31
- b9:c2:4e:5b:08:ab:8f:66:21:34:55:61:50:57:02:
32
- 5e:d2:d9:09:8d:39:81:85:cd:4c:08:f3:b1:1a:b5:
33
- b4:0c:3b:77:5e:c1:e0:95:f1:98:c6:f5:58:88:42:
34
- 50:b0:c3:41:cd
52
+ 00:d3:58:ea:f8:aa:9b:e0:95:aa:81:27:f4:1a:5e:
53
+ ae:60:bf:0f:37:be:b8:64:78:d4:ce:47:7e:21:82:
54
+ 49:a7:f6:ff:15:62:1c:87:e8:c2:d5:d2:9b:d2:21:
55
+ 87:36:36:66:bc:03:23:8f:5e:09:2b:4f:a2:8a:7f:
56
+ ea:c8:ea:fb:21:54:4a:ba:b8:14:74:59:50:fa:31:
57
+ cf:31:c3:22:32:4a:db:05:b6:3c:f5:9f:6b:cd:3c:
58
+ 6b:1b:48:b0:b5:13:5d:c7:b6:13:4e:09:85:e2:db:
59
+ 38:ac:ee:27:42:d8:49:47:9e:0c:59:95:97:e7:c2:
60
+ 78:0a:65:c9:ee:29:e8:50:ff
35
61
  exponent1:
36
- 00:b2:c8:27:4d:f0:a6:f3:41:40:60:00:23:83:e5:
37
- f8:08:ed:50:ee:b7:cd:5d:05:5d:a4:ba:67:94:17:
38
- ca:28:e1:5a:a9:3a:93:ca:5d:86:2c:9e:8b:07:b6:
39
- 2d:d6:3e:bb:75:ff:17:5b:6c:a5:21:bf:37:1e:93:
40
- 52:07:b2:74:11
62
+ 50:f7:12:19:1e:72:6c:8a:da:d4:e8:ac:0a:62:fb:
63
+ 04:90:a8:78:4a:22:6c:bc:60:f0:5f:e0:d1:5f:11:
64
+ 1f:44:ad:11:f3:4c:c7:1d:01:67:11:d5:5d:f5:e6:
65
+ 75:09:8a:36:8a:d2:f2:9a:25:43:2f:1b:2e:48:34:
66
+ 98:71:b9:50:99:a7:cb:22:d9:84:0a:c5:f7:64:92:
67
+ b4:8c:df:c6:5a:ce:ed:67:5a:a9:51:62:94:3e:76:
68
+ 9a:a8:97:e2:be:15:12:2f:a8:9a:0a:2a:d7:36:1d:
69
+ 33:b8:c5:5b:b9:31:cd:41:90:ff:fd:fe:7c:5d:57:
70
+ e4:15:01:ef:d0:46:d1:1d
41
71
  exponent2:
42
- 63:f3:51:e7:76:38:1e:da:65:05:e7:d9:51:d1:b1:
43
- 9e:c4:94:06:34:14:c3:81:48:97:d6:34:08:38:f0:
44
- 7c:3c:b3:7a:4e:4a:9d:74:ab:c3:39:3b:fc:ed:f6:
45
- 17:cd:d5:f4:c3:7b:61:64:35:42:24:06:26:bb:f6:
46
- 87:63:c1:d1
72
+ 00:91:f0:d9:b8:c2:df:06:b3:72:dc:e3:00:fd:e0:
73
+ 99:9b:76:f3:84:33:ef:d2:79:59:c1:e3:be:66:57:
74
+ 38:93:82:cc:dc:30:36:b1:66:fa:7b:7a:86:5d:11:
75
+ 07:f4:58:96:92:87:bc:5b:78:bc:ee:2a:7c:7c:15:
76
+ 1e:c4:84:f6:cb:2a:10:bc:64:f6:c2:ed:16:2c:de:
77
+ 8e:4b:b7:8a:7a:9e:14:26:1a:94:77:ac:11:5d:d4:
78
+ b5:c5:4e:69:af:70:63:16:d0:54:fe:53:37:1f:d2:
79
+ ef:8d:02:9b:1b:de:8c:a3:a6:b0:b2:7f:c9:38:a1:
80
+ a2:10:d3:ff:1f:b5:d2:95:73
47
81
  coefficient:
48
- 00:8a:5b:12:c8:57:3c:1e:95:32:eb:5e:e3:92:50:
49
- 2c:7b:6a:02:a4:18:48:30:cc:23:9f:79:91:dd:56:
50
- e8:ae:f7:93:47:ed:a6:26:35:6b:aa:7c:2c:f2:36:
51
- 01:33:f3:0f:df:50:c9:c8:0a:e7:6e:ec:ba:54:a0:
52
- 8d:0f:09:40:fd
82
+ 00:bb:0a:77:ec:98:3c:fe:92:2b:66:06:7a:2a:80:
83
+ a6:41:bb:d8:60:7e:fa:90:41:f3:4d:e4:4e:95:1e:
84
+ 48:19:33:49:9a:24:09:6c:17:98:ce:72:09:ad:96:
85
+ 43:3a:16:6c:16:cd:38:39:13:58:3e:dc:89:98:08:
86
+ 38:d3:e5:d8:c1:34:8c:71:a9:88:a1:79:23:af:ad:
87
+ 94:04:7a:ca:20:82:76:af:84:2a:43:c4:d6:96:b0:
88
+ c8:f7:e6:be:4c:e8:d8:7c:bb:79:7a:c8:d9:32:72:
89
+ 81:63:9f:2c:45:33:e3:6a:6a:42:3d:d6:19:b4:0d:
90
+ 0d:15:1b:44:67:47:ef:b6:2e
53
91
  -----BEGIN RSA PRIVATE KEY-----
54
- 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
- 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
- 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
- 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
- 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
- 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
- mh/lNFAWcp9bg8Fg1XM5wsbsOu0k/qpdFhS6haR9WpToY/ndJagsa8p8Q8epkq41
61
- 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
- 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
- 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
- Ued2OB7aZQXn2VHRsZ7ElAY0FMOBSJfWNAg48Hw8s3pOSp10q8M5O/zt9hfN1fTD
65
- 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
- 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
67
117
  -----END RSA PRIVATE KEY-----
@@ -6,21 +6,30 @@ Certificate:
6
6
  Issuer: CN=Unknown CA
7
7
  Validity
8
8
  Not Before: Jan 1 00:00:00 1970 GMT
9
- Not After : Mar 10 06:54:16 2030 GMT
9
+ Not After : Jun 15 01:19:37 2031 GMT
10
10
  Subject: CN=Unknown CA
11
11
  Subject Public Key Info:
12
12
  Public Key Algorithm: rsaEncryption
13
- RSA Public-Key: (1024 bit)
13
+ RSA Public-Key: (2048 bit)
14
14
  Modulus:
15
- 00:c1:5e:5d:26:ae:73:17:5a:70:37:ac:42:25:ca:
16
- 05:10:86:17:23:6c:28:84:48:2a:4a:d4:b0:3a:2a:
17
- d8:33:ae:58:67:6f:9b:4f:a6:b4:87:b1:ec:37:00:
18
- 69:8d:d5:cf:71:8a:96:e1:4a:f8:c8:81:36:f9:43:
19
- ad:d8:d6:76:83:27:99:a4:48:17:c2:ef:9c:22:40:
20
- 4b:c6:58:21:88:e5:1d:37:79:4e:ba:31:e6:52:ec:
21
- 8c:23:ed:d6:ce:3b:58:ad:82:c7:ae:28:47:d4:e7:
22
- cc:31:ac:78:c9:02:87:d0:b1:91:09:f6:1e:9a:c3:
23
- 4f:f6:5a:fe:a2:21:0e:c0:95
15
+ 00:b4:79:b0:16:e7:9b:22:20:17:4b:36:87:eb:38:
16
+ 03:1f:df:88:00:1b:37:40:5e:1f:1d:89:1f:3e:f4:
17
+ fa:69:90:9c:d8:68:df:c8:71:07:07:4e:01:1d:f0:
18
+ a8:9a:67:94:af:47:f2:b8:60:f5:ca:fb:bb:ac:7c:
19
+ 23:58:59:bc:95:b0:ad:b2:c7:a0:28:e1:4f:1e:c4:
20
+ ef:5f:2b:a3:4e:f2:6a:95:c8:4f:f5:af:bc:fa:36:
21
+ 10:f9:a9:62:7a:04:d5:01:cd:9b:ba:97:32:4c:99:
22
+ e5:88:fc:05:84:34:f5:4a:f2:f1:ec:04:c7:c7:63:
23
+ 28:eb:9e:ee:91:cd:95:8b:60:9e:5f:51:a1:2b:5a:
24
+ cd:02:b2:a7:52:6c:d1:8a:ab:b1:c4:52:cd:10:ce:
25
+ 9e:56:24:6c:63:84:2c:15:6c:c0:62:ea:c2:d9:04:
26
+ 88:e2:e2:0f:ff:ce:87:51:eb:77:50:83:33:1c:c7:
27
+ 88:5b:08:d4:3a:22:2f:13:a6:89:f7:4b:a0:2e:30:
28
+ c1:12:7a:bb:37:1f:aa:87:56:44:2f:5a:63:4b:b2:
29
+ 36:f6:29:5e:b8:67:52:6f:63:2a:ad:3d:c3:a5:45:
30
+ af:97:e9:85:9e:76:1e:51:9c:68:36:58:32:ad:cf:
31
+ 3e:4d:f0:92:e2:ad:d6:f0:e1:5d:af:08:ca:2a:82:
32
+ 0e:a3
24
33
  Exponent: 65537 (0x10001)
25
34
  X509v3 extensions:
26
35
  X509v3 Basic Constraints: critical
@@ -28,32 +37,45 @@ Certificate:
28
37
  X509v3 Key Usage: critical
29
38
  Certificate Sign, CRL Sign
30
39
  X509v3 Subject Key Identifier:
31
- E9:58:70:FE:F1:C1:AA:5A:70:7A:C1:02:11:1D:9A:F4:60:4F:70:76
40
+ D0:CD:40:49:88:F6:74:BB:B4:D7:05:37:74:33:B1:C2:27:73:81:CB
32
41
  Netscape Comment:
33
42
  Puppet Server Internal Certificate
34
43
  X509v3 Authority Key Identifier:
35
- keyid:E9:58:70:FE:F1:C1:AA:5A:70:7A:C1:02:11:1D:9A:F4:60:4F:70:76
44
+ keyid:D0:CD:40:49:88:F6:74:BB:B4:D7:05:37:74:33:B1:C2:27:73:81:CB
36
45
 
37
46
  Signature Algorithm: sha256WithRSAEncryption
38
- 00:45:89:e8:68:a7:50:8c:92:84:3c:c4:e6:10:00:29:27:99:
39
- c6:82:aa:aa:b5:0b:ef:97:58:bc:bb:e6:e7:93:7c:a7:ea:e5:
40
- 9a:61:1d:e3:4f:3f:f9:ac:c4:96:14:a5:1f:77:a6:01:dc:08:
41
- 15:9c:3f:66:29:92:80:49:e9:db:d9:22:fb:c3:86:bf:40:ab:
42
- 46:bf:c5:47:bb:c8:89:df:d4:ca:36:f5:08:c4:08:c6:0b:d6:
43
- 9e:8a:86:41:1e:7e:6f:a9:75:ef:8a:94:a9:fd:1a:9b:0f:55:
44
- 3a:55:e5:04:82:71:c3:47:78:62:8e:07:ed:dc:4e:ac:f9:33:
45
- 7b:27
47
+ 51:79:86:29:27:07:e5:fc:59:83:2d:15:ae:5f:c4:bc:0a:71:
48
+ 2c:71:74:20:14:ce:47:8f:cf:79:03:76:bd:df:c9:e9:7f:12:
49
+ b2:4e:5a:c5:4f:e1:0b:c3:17:44:92:37:af:10:08:75:9a:d9:
50
+ c5:0d:66:e9:24:2b:ec:00:aa:de:2f:ce:df:04:fa:49:d9:bd:
51
+ bd:5e:7b:e4:e7:1e:9e:20:d3:85:70:b4:95:b5:1d:2e:fa:0c:
52
+ b4:47:5a:38:ec:b0:bd:7e:34:5f:4d:9d:1f:81:81:8a:6c:a6:
53
+ 94:fb:f8:41:d6:a3:e4:64:3a:b7:12:4f:9e:4e:60:4a:12:a9:
54
+ d1:87:a5:a8:31:91:16:96:50:73:87:64:46:f1:f2:f9:99:80:
55
+ a2:89:e9:99:57:48:8a:56:08:d7:8d:a9:1d:69:7c:8f:73:e5:
56
+ 53:2d:28:ee:70:d7:f8:fe:41:25:3e:4c:6c:de:31:3f:9e:7d:
57
+ c4:f0:67:e9:fc:a3:02:c7:39:19:f5:6f:59:6a:ca:bb:8c:c8:
58
+ e6:01:43:ad:95:67:3f:c0:d6:35:18:b1:6e:9f:e1:ce:c7:be:
59
+ 35:f0:7b:65:e7:79:82:c3:b6:f7:48:28:98:d0:5c:3c:97:f3:
60
+ 69:b3:5e:c3:a0:c5:82:02:6f:20:d0:1b:cd:43:b0:85:7e:4f:
61
+ 71:b9:f3:8f
46
62
  -----BEGIN CERTIFICATE-----
47
- MIICODCCAaGgAwIBAgIBADANBgkqhkiG9w0BAQsFADAVMRMwEQYDVQQDDApVbmtu
48
- b3duIENBMB4XDTcwMDEwMTAwMDAwMFoXDTMwMDMxMDA2NTQxNlowFTETMBEGA1UE
49
- AwwKVW5rbm93biBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwV5dJq5z
50
- F1pwN6xCJcoFEIYXI2wohEgqStSwOirYM65YZ2+bT6a0h7HsNwBpjdXPcYqW4Ur4
51
- yIE2+UOt2NZ2gyeZpEgXwu+cIkBLxlghiOUdN3lOujHmUuyMI+3WzjtYrYLHrihH
52
- 1OfMMax4yQKH0LGRCfYemsNP9lr+oiEOwJUCAwEAAaOBlzCBlDAPBgNVHRMBAf8E
53
- BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU6Vhw/vHBqlpwesECER2a
54
- 9GBPcHYwMQYJYIZIAYb4QgENBCQWIlB1cHBldCBTZXJ2ZXIgSW50ZXJuYWwgQ2Vy
55
- dGlmaWNhdGUwHwYDVR0jBBgwFoAU6Vhw/vHBqlpwesECER2a9GBPcHYwDQYJKoZI
56
- hvcNAQELBQADgYEAAEWJ6GinUIyShDzE5hAAKSeZxoKqqrUL75dYvLvm55N8p+rl
57
- mmEd408/+azElhSlH3emAdwIFZw/ZimSgEnp29ki+8OGv0CrRr/FR7vIid/Uyjb1
58
- CMQIxgvWnoqGQR5+b6l174qUqf0amw9VOlXlBIJxw0d4Yo4H7dxOrPkzeyc=
63
+ MIIDPTCCAiWgAwIBAgIBADANBgkqhkiG9w0BAQsFADAVMRMwEQYDVQQDDApVbmtu
64
+ b3duIENBMB4XDTcwMDEwMTAwMDAwMFoXDTMxMDYxNTAxMTkzN1owFTETMBEGA1UE
65
+ AwwKVW5rbm93biBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALR5
66
+ sBbnmyIgF0s2h+s4Ax/fiAAbN0BeHx2JHz70+mmQnNho38hxBwdOAR3wqJpnlK9H
67
+ 8rhg9cr7u6x8I1hZvJWwrbLHoCjhTx7E718ro07yapXIT/WvvPo2EPmpYnoE1QHN
68
+ m7qXMkyZ5Yj8BYQ09Ury8ewEx8djKOue7pHNlYtgnl9RoStazQKyp1Js0YqrscRS
69
+ zRDOnlYkbGOELBVswGLqwtkEiOLiD//Oh1Hrd1CDMxzHiFsI1DoiLxOmifdLoC4w
70
+ wRJ6uzcfqodWRC9aY0uyNvYpXrhnUm9jKq09w6VFr5fphZ52HlGcaDZYMq3PPk3w
71
+ kuKt1vDhXa8IyiqCDqMCAwEAAaOBlzCBlDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud
72
+ DwEB/wQEAwIBBjAdBgNVHQ4EFgQU0M1ASYj2dLu01wU3dDOxwidzgcswMQYJYIZI
73
+ AYb4QgENBCQWIlB1cHBldCBTZXJ2ZXIgSW50ZXJuYWwgQ2VydGlmaWNhdGUwHwYD
74
+ VR0jBBgwFoAU0M1ASYj2dLu01wU3dDOxwidzgcswDQYJKoZIhvcNAQELBQADggEB
75
+ AFF5hiknB+X8WYMtFa5fxLwKcSxxdCAUzkePz3kDdr3fyel/ErJOWsVP4QvDF0SS
76
+ N68QCHWa2cUNZukkK+wAqt4vzt8E+knZvb1ee+TnHp4g04VwtJW1HS76DLRHWjjs
77
+ sL1+NF9NnR+BgYpsppT7+EHWo+RkOrcST55OYEoSqdGHpagxkRaWUHOHZEbx8vmZ
78
+ gKKJ6ZlXSIpWCNeNqR1pfI9z5VMtKO5w1/j+QSU+TGzeMT+efcTwZ+n8owLHORn1
79
+ b1lqyruMyOYBQ62VZz/A1jUYsW6f4c7HvjXwe2XneYLDtvdIKJjQXDyX82mzXsOg
80
+ xYICbyDQG81DsIV+T3G5848=
59
81
  -----END CERTIFICATE-----
@@ -472,67 +472,58 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do
472
472
  end
473
473
 
474
474
  context 'multiple agents running' do
475
- it "exits if an agent is already running" do
475
+ def with_another_agent_running(&block)
476
476
  path = Puppet[:agent_catalog_run_lockfile]
477
477
 
478
478
  th = Thread.new {
479
- %x{ruby -e "$0 = 'puppet'; File.write('#{path}', Process.pid); sleep(2)"}
479
+ %x{ruby -e "$0 = 'puppet'; File.write('#{path}', Process.pid); sleep(5)"}
480
480
  }
481
481
 
482
+ # ensure file is written before yielding
482
483
  until File.exists?(path) && File.size(path) > 0 do
483
484
  sleep 0.1
484
485
  end
485
486
 
486
- expect {
487
- agent.command_line.args << '--test'
488
- agent.run
489
- }.to exit_with(1).and output(/Run of Puppet configuration client already in progress; skipping/).to_stdout
487
+ begin
488
+ yield
489
+ ensure
490
+ th.kill # kill thread so we don't wait too much
491
+ end
492
+ end
490
493
 
491
- th.kill # kill thread so we don't wait too much
494
+ it "exits if an agent is already running" do
495
+ with_another_agent_running do
496
+ expect {
497
+ agent.command_line.args << '--test'
498
+ agent.run
499
+ }.to exit_with(1).and output(/Run of Puppet configuration client already in progress; skipping/).to_stdout
500
+ end
492
501
  end
493
502
 
494
503
  it "waits for other agent run to finish before starting" do
495
504
  server.start_server do |port|
496
- path = Puppet[:agent_catalog_run_lockfile]
497
505
  Puppet[:serverport] = port
498
506
  Puppet[:waitforlock] = 1
499
507
 
500
- th = Thread.new {
501
- %x{ruby -e "$0 = 'puppet'; File.write('#{path}', Process.pid); sleep(2)"}
502
- }
503
-
504
- until File.exists?(path) && File.size(path) > 0 do
505
- sleep 0.1
508
+ with_another_agent_running do
509
+ expect {
510
+ agent.command_line.args << '--test'
511
+ agent.run
512
+ }.to exit_with(0).and output(/Info: Will try again in #{Puppet[:waitforlock]} seconds./).to_stdout
506
513
  end
507
-
508
- expect {
509
- agent.command_line.args << '--test'
510
- agent.run
511
- }.to exit_with(0).and output(/Info: Will try again in #{Puppet[:waitforlock]} seconds./).to_stdout
512
-
513
- th.kill # kill thread so we don't wait too much
514
514
  end
515
515
  end
516
516
 
517
517
  it "exits if maxwaitforlock is exceeded" do
518
- path = Puppet[:agent_catalog_run_lockfile]
519
518
  Puppet[:waitforlock] = 1
520
519
  Puppet[:maxwaitforlock] = 0
521
520
 
522
- th = Thread.new {
523
- %x{ruby -e "$0 = 'puppet'; File.write('#{path}', Process.pid); sleep(2)"}
524
- }
525
-
526
- until File.exists?(path) && File.size(path) > 0 do
527
- sleep 0.1
521
+ with_another_agent_running do
522
+ expect {
523
+ agent.command_line.args << '--test'
524
+ agent.run
525
+ }.to exit_with(1).and output(/Exiting now because the maxwaitforlock timeout has been exceeded./).to_stdout
528
526
  end
529
-
530
- expect {
531
- agent.command_line.args << '--test'
532
- agent.run
533
- }.to exit_with(1).and output(/Exiting now because the maxwaitforlock timeout has been exceeded./).to_stdout
534
-
535
- th.kill # kill thread so we don't wait too much
536
527
  end
537
528
  end
538
529
 
@@ -572,7 +563,7 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do
572
563
  ).and matching(
573
564
  /Notify\[a message\]\/message:/
574
565
  )).to_stdout
575
- .and output(/the agent run will continue/).to_stderr
566
+ .and output(/Could not retrieve catalog from remote server/).to_stderr
576
567
  end
577
568
 
578
569
  it 'preserves the old cached catalog if validation fails with the old one' do
@@ -591,7 +582,7 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do
591
582
  agent.command_line.args << '--test'
592
583
  agent.run
593
584
  }.to exit_with(1)
594
- .and output(/Using configured environment/).to_stdout
585
+ .and output(%r{Retrieving plugin}).to_stdout
595
586
  .and output(%r{Validation of Exec\[unqualified_command\] failed: 'unqualified_command' is not qualified and no path was specified}).to_stderr
596
587
  end
597
588
 
@@ -632,5 +623,118 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do
632
623
  expect(report.metrics).to_not be_empty
633
624
  end
634
625
  end
626
+
627
+ it "caches a report even if the REST request fails" do
628
+ server.start_server do |port|
629
+ Puppet[:serverport] = port
630
+ Puppet[:report_port] = "-1"
631
+ expect {
632
+ agent.command_line.args << '--test'
633
+ agent.run
634
+ }.to exit_with(0)
635
+ .and output(%r{Applied catalog}).to_stdout
636
+ .and output(%r{Could not send report}).to_stderr
637
+
638
+ report = Puppet::Transaction::Report.convert_from(:yaml, File.read(Puppet[:lastrunreport]))
639
+ expect(report).to be
640
+ end
641
+ end
642
+ end
643
+
644
+ context "environment convergence" do
645
+ it "falls back to making a node request if the last server-specified environment cannot be loaded" do
646
+ mounts = {}
647
+ mounts[:node] = -> (req, res) {
648
+ node = Puppet::Node.new('test', environment: Puppet::Node::Environment.remote('doesnotexistonagent'))
649
+ res.body = formatter.render(node)
650
+ res['Content-Type'] = formatter.mime
651
+ }
652
+
653
+ server.start_server(mounts: mounts) do |port|
654
+ Puppet[:serverport] = port
655
+ Puppet[:log_level] = 'debug'
656
+
657
+ expect {
658
+ agent.command_line.args << '--test'
659
+ agent.run
660
+ }.to exit_with(0)
661
+ .and output(a_string_matching(%r{Debug: Requesting environment from the server})).to_stdout
662
+
663
+ Puppet::Application.clear!
664
+
665
+ expect {
666
+ agent.command_line.args << '--test'
667
+ agent.run
668
+ }.to exit_with(0)
669
+ .and output(a_string_matching(%r{Debug: Successfully loaded last environment from the lastrunfile})).to_stdout
670
+ end
671
+ end
672
+
673
+ it "switches to 'newenv' environment and retries the run" do
674
+ first_run = true
675
+ libdir = File.join(my_fixture_dir, 'lib')
676
+
677
+ # we have to use the :facter terminus to reliably test that pluginsynced
678
+ # facts are included in the catalog request
679
+ Puppet::Node::Facts.indirection.terminus_class = :facter
680
+
681
+ mounts = {}
682
+
683
+ # During the first run, only return metadata for the top-level directory.
684
+ # During the second run, include metadata for all of the 'lib' fixtures
685
+ # due to the `recurse` option.
686
+ mounts[:file_metadatas] = -> (req, res) {
687
+ request = Puppet::FileServing::Metadata.indirection.request(
688
+ :search, libdir, nil, recurse: !first_run
689
+ )
690
+ data = Puppet::FileServing::Metadata.indirection.terminus(:file).search(request)
691
+ res.body = formatter.render(data)
692
+ res['Content-Type'] = formatter.mime
693
+ }
694
+
695
+ mounts[:file_content] = -> (req, res) {
696
+ request = Puppet::FileServing::Content.indirection.request(
697
+ :find, File.join(libdir, 'facter', 'agent_spec_role.rb'), nil
698
+ )
699
+ content = Puppet::FileServing::Content.indirection.terminus(:file).find(request)
700
+ res.body = content.content
701
+ res['Content-Length'] = content.content.length
702
+ res['Content-Type'] = 'application/octet-stream'
703
+ }
704
+
705
+ # During the first run, return an empty catalog referring to the newenv.
706
+ # During the second run, compile a catalog that depends on a fact that
707
+ # only exists in the second environment. If the fact is missing/empty,
708
+ # then compilation will fail since resources can't have an empty title.
709
+ mounts[:catalog] = -> (req, res) {
710
+ node = Puppet::Node.new('test')
711
+
712
+ code = if first_run
713
+ first_run = false
714
+ ''
715
+ else
716
+ data = CGI.unescape(req.query['facts'])
717
+ facts = Puppet::Node::Facts.convert_from('json', data)
718
+ node.fact_merge(facts)
719
+ 'notify { $facts["agent_spec_role"]: }'
720
+ end
721
+
722
+ catalog = compile_to_catalog(code, node)
723
+ catalog.environment = 'newenv'
724
+
725
+ res.body = formatter.render(catalog)
726
+ res['Content-Type'] = formatter.mime
727
+ }
728
+
729
+ server.start_server(mounts: mounts) do |port|
730
+ Puppet[:serverport] = port
731
+ expect {
732
+ agent.command_line.args << '--test'
733
+ agent.run
734
+ }.to exit_with(2)
735
+ .and output(a_string_matching(%r{Notice: Local environment: 'production' doesn't match server specified environment 'newenv', restarting agent run with environment 'newenv'})
736
+ .and matching(%r{defined 'message' as 'web'})).to_stdout
737
+ end
738
+ end
635
739
  end
636
740
  end
@@ -18,6 +18,11 @@ describe "puppet filebucket", unless: Puppet::Util::Platform.jruby? do
18
18
  File.binwrite(backup_file, text)
19
19
  end
20
20
 
21
+ after :each do
22
+ # mute debug messages generated during `after :each` blocks
23
+ Puppet::Util::Log.close_all
24
+ end
25
+
21
26
  it "backs up to and restores from the local filebucket" do
22
27
  filebucket.command_line.args = ['backup', backup_file, '--local']
23
28
  expect {
@@ -126,6 +131,17 @@ describe "puppet filebucket", unless: Puppet::Util::Platform.jruby? do
126
131
  end
127
132
  end
128
133
 
134
+ it "lists the local filebucket even if the environment doesn't exist locally" do
135
+ Puppet[:environment] = 'doesnotexist'
136
+ Puppet::FileSystem.mkpath(Puppet[:clientbucketdir])
137
+
138
+ filebucket.command_line.args = ['backup', '--local', backup_file]
139
+ expect {
140
+ result = filebucket.run
141
+ expect(result).to eq([backup_file])
142
+ }.to output(/Computing checksum on file/).to_stdout
143
+ end
144
+
129
145
  context 'diff', unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
130
146
  context 'using a remote bucket' do
131
147
  it 'outputs a diff between a local and remote file' do
@@ -65,4 +65,25 @@ describe 'puppet module', unless: Puppet::Util::Platform.jruby? do
65
65
  .and output(%r{Unable to verify the SSL certificate}).to_stderr
66
66
  end
67
67
  end
68
+
69
+ it 'prints the complete URL it tried to connect to' do
70
+ response_proc = -> (req, res) { res.status = 404 }
71
+
72
+ # create a temp cacert bundle
73
+ ssl_file = tmpfile('systemstore')
74
+ File.write(ssl_file, server.ca_cert)
75
+
76
+ Puppet::Util.withenv("SSL_CERT_FILE" => ssl_file) do
77
+ server.start_server(response_proc: response_proc) do |port|
78
+ Puppet[:module_repository] = "https://127.0.0.1:#{port}/bogus_test/puppet"
79
+
80
+ expect {
81
+ app.command_line.args = ['install', 'puppetlabs-bacula']
82
+ app.run
83
+ }.to exit_with(1)
84
+ .and output(%r{Notice: Downloading from https://127.0.0.1:#{port}}).to_stdout
85
+ .and output(%r{https://127.0.0.1:#{port}/bogus_test/puppet/v3/releases}).to_stderr
86
+ end
87
+ end
88
+ end
68
89
  end