puppet 6.15.0 → 6.16.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (132) hide show
  1. checksums.yaml +4 -4
  2. data/CODEOWNERS +2 -7
  3. data/Gemfile.lock +17 -14
  4. data/lib/puppet.rb +32 -8
  5. data/lib/puppet/agent.rb +18 -4
  6. data/lib/puppet/application/agent.rb +1 -2
  7. data/lib/puppet/application/device.rb +1 -1
  8. data/lib/puppet/application/plugin.rb +1 -0
  9. data/lib/puppet/application/ssl.rb +1 -1
  10. data/lib/puppet/configurer.rb +2 -2
  11. data/lib/puppet/context/trusted_information.rb +14 -8
  12. data/lib/puppet/daemon.rb +13 -27
  13. data/lib/puppet/defaults.rb +19 -0
  14. data/lib/puppet/face/facts.rb +1 -1
  15. data/lib/puppet/face/help.rb +29 -3
  16. data/lib/puppet/face/module/search.rb +5 -0
  17. data/lib/puppet/face/plugin.rb +1 -1
  18. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  19. data/lib/puppet/file_system/uniquefile.rb +4 -0
  20. data/lib/puppet/forge/repository.rb +7 -6
  21. data/lib/puppet/functions/filter.rb +1 -0
  22. data/lib/puppet/http/client.rb +22 -11
  23. data/lib/puppet/http/external_client.rb +0 -6
  24. data/lib/puppet/indirector/file_content/http.rb +5 -0
  25. data/lib/puppet/indirector/file_metadata/http.rb +4 -4
  26. data/lib/puppet/indirector/rest.rb +7 -1
  27. data/lib/puppet/network/http/compression.rb +7 -0
  28. data/lib/puppet/network/http/connection.rb +2 -0
  29. data/lib/puppet/network/http/connection_adapter.rb +182 -0
  30. data/lib/puppet/network/http/nocache_pool.rb +1 -0
  31. data/lib/puppet/network/http_pool.rb +2 -2
  32. data/lib/puppet/pal/catalog_compiler.rb +5 -0
  33. data/lib/puppet/pal/pal_impl.rb +4 -1
  34. data/lib/puppet/parser/compiler.rb +28 -25
  35. data/lib/puppet/parser/functions/filter.rb +1 -0
  36. data/lib/puppet/provider/package/aix.rb +17 -2
  37. data/lib/puppet/provider/package/apt.rb +4 -1
  38. data/lib/puppet/provider/package/dnfmodule.rb +24 -4
  39. data/lib/puppet/provider/package/pip.rb +60 -37
  40. data/lib/puppet/provider/package/portage.rb +2 -2
  41. data/lib/puppet/provider/package/yum.rb +7 -0
  42. data/lib/puppet/provider/package/zypper.rb +59 -1
  43. data/lib/puppet/provider/service/systemd.rb +21 -4
  44. data/lib/puppet/provider/user/useradd.rb +5 -1
  45. data/lib/puppet/reports/http.rb +5 -3
  46. data/lib/puppet/runtime.rb +25 -2
  47. data/lib/puppet/ssl/state_machine.rb +33 -8
  48. data/lib/puppet/ssl/verifier_adapter.rb +9 -1
  49. data/lib/puppet/test/test_helper.rb +1 -1
  50. data/lib/puppet/type/file/source.rb +1 -1
  51. data/lib/puppet/type/package.rb +16 -1
  52. data/lib/puppet/type/service.rb +6 -8
  53. data/lib/puppet/type/user.rb +1 -7
  54. data/lib/puppet/util/autoload.rb +1 -18
  55. data/lib/puppet/util/log/destinations.rb +1 -10
  56. data/lib/puppet/util/package/version/range.rb +4 -1
  57. data/lib/puppet/util/package/version/range/eq.rb +14 -0
  58. data/lib/puppet/version.rb +1 -1
  59. data/locales/puppet.pot +191 -111
  60. data/man/man5/puppet.conf.5 +21 -2
  61. data/man/man8/puppet-agent.8 +1 -1
  62. data/man/man8/puppet-apply.8 +1 -1
  63. data/man/man8/puppet-catalog.8 +1 -1
  64. data/man/man8/puppet-config.8 +1 -1
  65. data/man/man8/puppet-describe.8 +1 -1
  66. data/man/man8/puppet-device.8 +1 -1
  67. data/man/man8/puppet-doc.8 +1 -1
  68. data/man/man8/puppet-epp.8 +1 -1
  69. data/man/man8/puppet-facts.8 +1 -1
  70. data/man/man8/puppet-filebucket.8 +1 -1
  71. data/man/man8/puppet-generate.8 +1 -1
  72. data/man/man8/puppet-help.8 +6 -3
  73. data/man/man8/puppet-key.8 +1 -1
  74. data/man/man8/puppet-lookup.8 +1 -1
  75. data/man/man8/puppet-man.8 +1 -1
  76. data/man/man8/puppet-module.8 +4 -1
  77. data/man/man8/puppet-node.8 +1 -1
  78. data/man/man8/puppet-parser.8 +1 -1
  79. data/man/man8/puppet-plugin.8 +1 -1
  80. data/man/man8/puppet-report.8 +1 -1
  81. data/man/man8/puppet-resource.8 +1 -1
  82. data/man/man8/puppet-script.8 +1 -1
  83. data/man/man8/puppet-ssl.8 +1 -1
  84. data/man/man8/puppet-status.8 +1 -1
  85. data/man/man8/puppet.8 +2 -2
  86. data/spec/fixtures/unit/provider/package/dnfmodule/{dnf-module-list-enabled.txt → dnf-module-list.txt} +6 -0
  87. data/spec/fixtures/unit/provider/package/zypper/zypper-search-uninstalled.out +13 -0
  88. data/spec/integration/application/agent_spec.rb +66 -1
  89. data/spec/integration/application/plugin_spec.rb +23 -0
  90. data/spec/integration/http/client_spec.rb +6 -1
  91. data/spec/integration/network/http_pool_spec.rb +56 -0
  92. data/spec/integration/util/windows/adsi_spec.rb +5 -0
  93. data/spec/lib/puppet_spec/https.rb +6 -0
  94. data/spec/unit/agent_spec.rb +47 -1
  95. data/spec/unit/application/agent_spec.rb +4 -4
  96. data/spec/unit/context/trusted_information_spec.rb +17 -0
  97. data/spec/unit/daemon_spec.rb +5 -64
  98. data/spec/unit/face/module/search_spec.rb +17 -0
  99. data/spec/unit/file_system/uniquefile_spec.rb +11 -0
  100. data/spec/unit/http/client_spec.rb +10 -10
  101. data/spec/unit/http/external_client_spec.rb +9 -9
  102. data/spec/unit/indirector/catalog/compiler_spec.rb +1 -0
  103. data/spec/unit/indirector/file_metadata/http_spec.rb +167 -0
  104. data/spec/unit/indirector/file_metadata/rest_spec.rb +15 -14
  105. data/spec/unit/indirector/rest_spec.rb +13 -0
  106. data/spec/unit/network/http/connection_spec.rb +542 -190
  107. data/spec/unit/network/http/nocache_pool_spec.rb +22 -0
  108. data/spec/unit/network/http_pool_spec.rb +63 -57
  109. data/spec/unit/network/http_spec.rb +1 -1
  110. data/spec/unit/provider/package/aix_spec.rb +29 -0
  111. data/spec/unit/provider/package/dnfmodule_spec.rb +25 -5
  112. data/spec/unit/provider/package/pip_spec.rb +42 -16
  113. data/spec/unit/provider/package/portage_spec.rb +5 -0
  114. data/spec/unit/provider/package/yum_spec.rb +16 -8
  115. data/spec/unit/provider/package/zypper_spec.rb +84 -0
  116. data/spec/unit/provider/service/init_spec.rb +1 -0
  117. data/spec/unit/provider/service/openbsd_spec.rb +9 -0
  118. data/spec/unit/provider/service/openwrt_spec.rb +1 -0
  119. data/spec/unit/provider/service/redhat_spec.rb +9 -0
  120. data/spec/unit/provider/service/systemd_spec.rb +84 -13
  121. data/spec/unit/provider/user/useradd_spec.rb +8 -0
  122. data/spec/unit/puppet_pal_catalog_spec.rb +43 -0
  123. data/spec/unit/puppet_spec.rb +33 -0
  124. data/spec/unit/reports/http_spec.rb +1 -1
  125. data/spec/unit/ssl/state_machine_spec.rb +52 -8
  126. data/spec/unit/type/service_spec.rb +9 -8
  127. data/spec/unit/type/user_spec.rb +1 -1
  128. data/spec/unit/util/autoload_spec.rb +2 -1
  129. data/spec/unit/util/log/destinations_spec.rb +1 -29
  130. data/spec/unit/util/package/version/range_spec.rb +22 -1
  131. data/tasks/manpages.rake +5 -35
  132. metadata +10 -4
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "PUPPETCONF" "5" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "PUPPETCONF" "5" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  \fBThis page is autogenerated; any changes will get overwritten\fR
6
6
  .
7
7
  .SH "Configuration settings"
@@ -920,7 +920,7 @@ The time to wait for data to be read from an HTTP connection\. If nothing is rea
920
920
  The HTTP User\-Agent string to send when making network requests\.
921
921
  .
922
922
  .IP "\(bu" 4
923
- \fIDefault\fR: Puppet/6\.15\.0 Ruby/2\.4\.1\-p111 (x86_64\-linux)
923
+ \fIDefault\fR: Puppet/6\.16\.0 Ruby/2\.4\.1\-p111 (x86_64\-linux)
924
924
  .
925
925
  .IP "" 0
926
926
  .
@@ -1198,6 +1198,14 @@ The maximum amount of time the Puppet agent should wait for its certificate requ
1198
1198
  .
1199
1199
  .IP "" 0
1200
1200
  .
1201
+ .SS "maxwaitforlock"
1202
+ The maximum amount of time the puppet agent should wait for an already running puppet agent to finish before starting a new one\. This is set by default to 1 minute\. A value of \fBunlimited\fR will cause puppet agent to wait indefinitely\. This setting can be a time interval in seconds (30 or 30s), minutes (30m), hours (6h), days (2d), or years (5y)\.
1203
+ .
1204
+ .IP "\(bu" 4
1205
+ \fIDefault\fR: 1m
1206
+ .
1207
+ .IP "" 0
1208
+ .
1201
1209
  .SS "merge_dependency_warnings"
1202
1210
  Whether to merge class\-level dependency failure warnings\.
1203
1211
  .
@@ -2039,6 +2047,17 @@ Puppet agent cannot apply configurations until its approved certificate is avail
2039
2047
  .
2040
2048
  .IP "" 0
2041
2049
  .
2050
+ .SS "waitforlock"
2051
+ How frequently puppet agent should try running when there is an already ongoing puppet agent instance\.
2052
+ .
2053
+ .P
2054
+ This argument is by default disabled (value set to 0)\. In this case puppet agent will immediatly exit if it cannot run at that moment\. When a value other than 0 is set, this can also be used in combination with the \fBmaxwaitforlock\fR argument\. This setting can be a time interval in seconds (30 or 30s), minutes (30m), hours (6h), days (2d), or years (5y)\.
2055
+ .
2056
+ .IP "\(bu" 4
2057
+ \fIDefault\fR: 0
2058
+ .
2059
+ .IP "" 0
2060
+ .
2042
2061
  .SS "yamldir"
2043
2062
  The directory in which YAML data is stored, usually in a subdirectory\.
2044
2063
  .
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "PUPPET\-AGENT" "8" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "PUPPET\-AGENT" "8" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBpuppet\-agent\fR \- The puppet agent daemon
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "PUPPET\-APPLY" "8" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "PUPPET\-APPLY" "8" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBpuppet\-apply\fR \- Apply Puppet manifests locally
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "PUPPET\-CATALOG" "8" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "PUPPET\-CATALOG" "8" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBpuppet\-catalog\fR \- Compile, save, view, and convert catalogs\.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "PUPPET\-CONFIG" "8" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "PUPPET\-CONFIG" "8" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBpuppet\-config\fR \- Interact with Puppet\'s settings\.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "PUPPET\-DESCRIBE" "8" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "PUPPET\-DESCRIBE" "8" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBpuppet\-describe\fR \- Display help about resource types
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "PUPPET\-DEVICE" "8" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "PUPPET\-DEVICE" "8" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBpuppet\-device\fR \- Manage remote network devices
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "PUPPET\-DOC" "8" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "PUPPET\-DOC" "8" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBpuppet\-doc\fR \- Generate Puppet references
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "PUPPET\-EPP" "8" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "PUPPET\-EPP" "8" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBpuppet\-epp\fR \- Interact directly with the EPP template parser/renderer\.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "PUPPET\-FACTS" "8" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "PUPPET\-FACTS" "8" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBpuppet\-facts\fR \- Retrieve and store facts\.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "PUPPET\-FILEBUCKET" "8" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "PUPPET\-FILEBUCKET" "8" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBpuppet\-filebucket\fR \- Store and retrieve files in a filebucket
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "PUPPET\-GENERATE" "8" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "PUPPET\-GENERATE" "8" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBpuppet\-generate\fR \- Generates Puppet code from Ruby definitions\.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "PUPPET\-HELP" "8" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "PUPPET\-HELP" "8" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBpuppet\-help\fR \- Display Puppet help\.
@@ -34,7 +34,7 @@ Whether to log debug information\.
34
34
  \fBSYNOPSIS\fR
35
35
  .
36
36
  .IP
37
- puppet help [\-\-version VERSION] [\fIsubcommand\fR] [\fIaction\fR]
37
+ puppet help [\-\-version VERSION] [\-\-ronn] [\fIsubcommand\fR] [\fIaction\fR]
38
38
  .
39
39
  .IP
40
40
  \fBDESCRIPTION\fR
@@ -43,7 +43,10 @@ puppet help [\-\-version VERSION] [\fIsubcommand\fR] [\fIaction\fR]
43
43
  Display help about Puppet subcommands and their actions\.
44
44
  .
45
45
  .IP
46
- \fBOPTIONS\fR \fI\-\-version VERSION\fR \- The version of the subcommand for which to show help\.
46
+ \fBOPTIONS\fR \fI\-\-ronn\fR \- Whether to render the help text in ronn format\.
47
+ .
48
+ .IP
49
+ \fI\-\-version VERSION\fR \- The version of the subcommand for which to show help\.
47
50
  .
48
51
  .IP
49
52
  \fBRETURNS\fR
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "PUPPET\-KEY" "8" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "PUPPET\-KEY" "8" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBpuppet\-key\fR \- Create, save, and remove certificate keys\.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "LOOKUP" "8" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "LOOKUP" "8" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBlookup\fR \- Interactive Hiera lookup
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "PUPPET\-MAN" "8" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "PUPPET\-MAN" "8" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBpuppet\-man\fR \- Display Puppet manual pages\.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "PUPPET\-MODULE" "8" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "PUPPET\-MODULE" "8" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBpuppet\-module\fR \- Creates, installs and searches for modules on the Puppet Forge\.
@@ -170,6 +170,9 @@ puppet module search \fIsearch_term\fR
170
170
  \fBDESCRIPTION\fR
171
171
  .
172
172
  .IP
173
+ This action has been deprecated\. Please use the Puppet Forge to search for modules\.
174
+ .
175
+ .IP
173
176
  Searches a repository for modules whose names, descriptions, or keywords match the provided search term\.
174
177
  .
175
178
  .IP
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "PUPPET\-NODE" "8" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "PUPPET\-NODE" "8" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBpuppet\-node\fR \- View and manage node definitions\.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "PUPPET\-PARSER" "8" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "PUPPET\-PARSER" "8" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBpuppet\-parser\fR \- Interact directly with the parser\.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "PUPPET\-PLUGIN" "8" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "PUPPET\-PLUGIN" "8" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBpuppet\-plugin\fR \- Interact with the Puppet plugin system\.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "PUPPET\-REPORT" "8" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "PUPPET\-REPORT" "8" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBpuppet\-report\fR \- Create, display, and submit reports\.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "PUPPET\-RESOURCE" "8" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "PUPPET\-RESOURCE" "8" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBpuppet\-resource\fR \- The resource abstraction layer shell
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "PUPPET\-SCRIPT" "8" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "PUPPET\-SCRIPT" "8" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBpuppet\-script\fR \- Run a puppet manifests as a script without compiling a catalog
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "PUPPET\-SSL" "8" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "PUPPET\-SSL" "8" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBpuppet\-ssl\fR \- Manage SSL keys and certificates for puppet SSL clients
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "PUPPET\-STATUS" "8" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "PUPPET\-STATUS" "8" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBpuppet\-status\fR \- View puppet server status\.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "PUPPET" "8" "April 2020" "Puppet, Inc." "Puppet manual"
4
+ .TH "PUPPET" "8" "May 2020" "Puppet, Inc." "Puppet manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBpuppet\fR
@@ -25,4 +25,4 @@ Specialized:
25
25
  catalog Compile, save, view, and convert catalogs\. describe Display help about resource types device Manage remote network devices doc Generate Puppet references epp Interact directly with the EPP template parser/renderer\. facts Retrieve and store facts\. filebucket Store and retrieve files in a filebucket generate Generates Puppet code from Ruby definitions\. node View and manage node definitions\. parser Interact directly with the parser\. plugin Interact with the Puppet plugin system\. script Run a puppet manifests as a script without compiling a catalog ssl Manage SSL keys and certificates for puppet SSL clients
26
26
  .
27
27
  .P
28
- See \'puppet help \fIsubcommand\fR \fIaction\fR\' for help on a specific subcommand action\. See \'puppet help \fIsubcommand\fR\' for help on a specific subcommand\. Puppet v6\.15\.0
28
+ See \'puppet help \fIsubcommand\fR \fIaction\fR\' for help on a specific subcommand action\. See \'puppet help \fIsubcommand\fR\' for help on a specific subcommand\. Puppet v6\.16\.0
@@ -9,5 +9,11 @@ postgresql 10 [d][e] client, server [d] [i] PostgreSQL s
9
9
  ruby 2.5 [d][e] common [d] An interpreter of object-oriented scripting language
10
10
  rust-toolset rhel8 [d][e] common [d] [i] Rust
11
11
  subversion 1.10 [d][e] common [d], server [i] Apache Subversion
12
+ scala 2.10 [d] common [d] A hybrid functional/object-oriented language for the JVM
13
+ squid 4 [d] common [d] Squid - Optimising Web Delivery
14
+ subversion 1.10 [d] common [d], server Apache Subversion
15
+ swig 3.0 [d][x] common [d], complete Connects C/C++/Objective C to some high-level programming languages
16
+ varnish 6 [d] common [d] Varnish HTTP cache
17
+ virt rhel [d][x] common [d] Virtualization module
12
18
 
13
19
  Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
@@ -0,0 +1,13 @@
1
+ Refreshing service 'spacewalk'.
2
+ Problem retrieving the repository index file for service 'spacewalk':
3
+ [|] This client is not registered to any spacewalk server.
4
+
5
+ Skipping service 'spacewalk' because of the above error.
6
+ Loading repository data...
7
+ Reading installed packages...
8
+
9
+ S | Name | Type | Version | Arch | Repository
10
+ --+---------+---------+-------------------+--------+-------------------------------------------------
11
+ | vim | package | 1.0.20040813-19.9 | noarch | localmirror-os
12
+ | vim | package | 1.0.20040813-19.9 | noarch | localmirror-os
13
+ | vim | package | 1.0.20040813-19.9 | noarch | SUSE-Linux-Enterprise-Server-11-SP4 11.4.4-1.109
@@ -267,7 +267,7 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do
267
267
  agent.run
268
268
  }.to exit_with(4)
269
269
  .and output(/Notice: Applied catalog/).to_stdout
270
- .and output(%r{Error: Could not retrieve file metadata for https://127.0.0.1:#{https_port}/path/to/file: .* certificate verify failed}).to_stderr
270
+ .and output(%r{Error: Could not retrieve file metadata for https://127.0.0.1:#{https_port}/path/to/file: certificate verify failed}).to_stderr
271
271
  end
272
272
 
273
273
  expect(File).to_not be_exist(path)
@@ -326,4 +326,69 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do
326
326
  end
327
327
  end
328
328
  end
329
+
330
+ context 'multiple agents running' do
331
+ it "exits if an agent is already running" do
332
+ path = Puppet[:agent_catalog_run_lockfile]
333
+
334
+ th = Thread.new {
335
+ %x{ruby -e "$0 = 'puppet'; File.write('#{path}', Process.pid); sleep(2)"}
336
+ }
337
+
338
+ until File.exists?(path) && File.size(path) > 0 do
339
+ sleep 0.1
340
+ end
341
+
342
+ expect {
343
+ agent.command_line.args << '--test'
344
+ agent.run
345
+ }.to exit_with(1).and output(/Run of Puppet configuration client already in progress; skipping/).to_stdout
346
+
347
+ th.kill # kill thread so we don't wait too much
348
+ end
349
+
350
+ it "waits for other agent run to finish before starting" do
351
+ server.start_server do |port|
352
+ path = Puppet[:agent_catalog_run_lockfile]
353
+ Puppet[:masterport] = port
354
+ Puppet[:waitforlock] = 1
355
+
356
+ th = Thread.new {
357
+ %x{ruby -e "$0 = 'puppet'; File.write('#{path}', Process.pid); sleep(2)"}
358
+ }
359
+
360
+ until File.exists?(path) && File.size(path) > 0 do
361
+ sleep 0.1
362
+ end
363
+
364
+ expect {
365
+ agent.command_line.args << '--test'
366
+ agent.run
367
+ }.to exit_with(0).and output(/Info: Will try again in #{Puppet[:waitforlock]} seconds./).to_stdout
368
+
369
+ th.kill # kill thread so we don't wait too much
370
+ end
371
+ end
372
+
373
+ it "exits if maxwaitforlock is exceeded" do
374
+ path = Puppet[:agent_catalog_run_lockfile]
375
+ Puppet[:waitforlock] = 1
376
+ Puppet[:maxwaitforlock] = 0
377
+
378
+ th = Thread.new {
379
+ %x{ruby -e "$0 = 'puppet'; File.write('#{path}', Process.pid); sleep(2)"}
380
+ }
381
+
382
+ until File.exists?(path) && File.size(path) > 0 do
383
+ sleep 0.1
384
+ end
385
+
386
+ expect {
387
+ agent.command_line.args << '--test'
388
+ agent.run
389
+ }.to exit_with(1).and output(/Exiting now because the maxwaitforlock timeout has been exceeded./).to_stdout
390
+
391
+ th.kill # kill thread so we don't wait too much
392
+ end
393
+ end
329
394
  end
@@ -47,4 +47,27 @@ describe "puppet plugin" do
47
47
  end
48
48
  end
49
49
 
50
+ it "downloads from an environment that doesn't exist locally" do
51
+ requested_environment = nil
52
+
53
+ current_version_handler = -> (req, res) {
54
+ res['X-Puppet-Version'] = Puppet.version
55
+ res['Content-Type'] = 'application/json'
56
+ res.body = response_body
57
+ requested_environment = req.query['environment']
58
+ }
59
+
60
+ server.start_server(mounts: {file_metadatas: current_version_handler}) do |port|
61
+ Puppet[:environment] = 'doesnotexistontheagent'
62
+ Puppet[:masterport] = port
63
+ expect {
64
+ plugin.command_line.args << 'download'
65
+ plugin.run
66
+ }.to exit_with(0)
67
+ .and output(matching("Downloaded these plugins")).to_stdout
68
+
69
+ expect(requested_environment).to eq('doesnotexistontheagent')
70
+ end
71
+ end
72
+
50
73
  end