openvox 9.0.0.pre.beta2 → 9.0.0.pre.rc2

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 (105) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +91 -26
  3. data/Gemfile +5 -3
  4. data/Gemfile.lock +666 -0
  5. data/HISTORY.md +311 -0
  6. data/Rakefile +5 -6
  7. data/ext/debian/puppet.default +2 -2
  8. data/ext/debian/puppet.init +2 -2
  9. data/ext/windows/service/daemon.rb +1 -2
  10. data/lib/hiera/scope.rb +0 -2
  11. data/lib/puppet/agent/disabler.rb +1 -1
  12. data/lib/puppet/agent/locker.rb +1 -1
  13. data/lib/puppet/agent.rb +79 -7
  14. data/lib/puppet/application/agent.rb +19 -4
  15. data/lib/puppet/application/ssl.rb +7 -6
  16. data/lib/puppet/application.rb +1 -2
  17. data/lib/puppet/configurer/fact_handler.rb +5 -1
  18. data/lib/puppet/confine.rb +1 -2
  19. data/lib/puppet/environments.rb +3 -12
  20. data/lib/puppet/face/epp.rb +0 -2
  21. data/lib/puppet/file_bucket/dipper.rb +0 -2
  22. data/lib/puppet/file_serving/content.rb +1 -2
  23. data/lib/puppet/file_serving/mount.rb +1 -2
  24. data/lib/puppet/functions/tree_each.rb +1 -1
  25. data/lib/puppet/generate/type.rb +1 -1
  26. data/lib/puppet/gettext/config.rb +0 -2
  27. data/lib/puppet/graph/simple_graph.rb +0 -2
  28. data/lib/puppet/http/service.rb +46 -17
  29. data/lib/puppet/indirector/facts/facter.rb +13 -12
  30. data/lib/puppet/indirector/file_bucket_file/file.rb +0 -2
  31. data/lib/puppet/interface/action.rb +1 -1
  32. data/lib/puppet/module.rb +1 -6
  33. data/lib/puppet/node.rb +5 -1
  34. data/lib/puppet/parser/ast.rb +1 -2
  35. data/lib/puppet/parser/compiler/catalog_validator.rb +1 -2
  36. data/lib/puppet/parser/files.rb +0 -2
  37. data/lib/puppet/parser/resource.rb +0 -4
  38. data/lib/puppet/parser/scope.rb +1 -5
  39. data/lib/puppet/pops/adaptable.rb +0 -2
  40. data/lib/puppet/pops/loader/base_loader.rb +0 -2
  41. data/lib/puppet/pops/loader/loader.rb +0 -2
  42. data/lib/puppet/pops/loader/runtime3_type_loader.rb +0 -2
  43. data/lib/puppet/pops/loaders.rb +0 -2
  44. data/lib/puppet/pops/lookup/hiera_config.rb +0 -2
  45. data/lib/puppet/pops/lookup/interpolation.rb +0 -2
  46. data/lib/puppet/pops/lookup/key_recorder.rb +2 -4
  47. data/lib/puppet/pops/lookup/lookup_key.rb +0 -2
  48. data/lib/puppet/pops/merge_strategy.rb +1 -1
  49. data/lib/puppet/pops/migration/migration_checker.rb +1 -2
  50. data/lib/puppet/pops/parser/lexer2.rb +2 -2
  51. data/lib/puppet/pops/parser/lexer_support.rb +0 -2
  52. data/lib/puppet/pops/parser/locatable.rb +2 -4
  53. data/lib/puppet/pops/parser/locator.rb +9 -18
  54. data/lib/puppet/pops/puppet_stack.rb +1 -1
  55. data/lib/puppet/pops/time/timespan.rb +0 -2
  56. data/lib/puppet/pops/types/class_loader.rb +1 -3
  57. data/lib/puppet/pops/types/iterable.rb +0 -2
  58. data/lib/puppet/pops/types/p_runtime_type.rb +0 -2
  59. data/lib/puppet/pops/types/p_timespan_type.rb +1 -3
  60. data/lib/puppet/pops/types/puppet_object.rb +2 -4
  61. data/lib/puppet/pops/types/type_acceptor.rb +1 -2
  62. data/lib/puppet/pops/types/type_factory.rb +1 -1
  63. data/lib/puppet/pops/types/types.rb +1 -8
  64. data/lib/puppet/pops/utils.rb +0 -6
  65. data/lib/puppet/pops/validation/checker4_0.rb +2 -6
  66. data/lib/puppet/pops/visitor.rb +1 -1
  67. data/lib/puppet/property/ensure.rb +0 -4
  68. data/lib/puppet/provider/nameservice.rb +0 -2
  69. data/lib/puppet/provider/network_device.rb +1 -2
  70. data/lib/puppet/provider/package/pkgdmg.rb +0 -2
  71. data/lib/puppet/provider/package/portage.rb +1 -1
  72. data/lib/puppet/provider/package/portupgrade.rb +2 -2
  73. data/lib/puppet/provider/parsedfile.rb +0 -2
  74. data/lib/puppet/provider/service/base.rb +2 -4
  75. data/lib/puppet/provider/service/launchd.rb +1 -1
  76. data/lib/puppet/provider/service/openwrt.rb +1 -2
  77. data/lib/puppet/provider/service/service.rb +1 -2
  78. data/lib/puppet/provider/service/smf.rb +6 -6
  79. data/lib/puppet/provider/service/systemd.rb +0 -41
  80. data/lib/puppet/provider/service/upstart.rb +1 -1
  81. data/lib/puppet/provider/user/directoryservice.rb +3 -5
  82. data/lib/puppet/reference/metaparameter.rb +1 -1
  83. data/lib/puppet/settings.rb +0 -2
  84. data/lib/puppet/test/test_helper.rb +1 -2
  85. data/lib/puppet/transaction/event.rb +0 -1
  86. data/lib/puppet/transaction/persistence.rb +0 -2
  87. data/lib/puppet/type/component.rb +1 -2
  88. data/lib/puppet/type/file.rb +1 -3
  89. data/lib/puppet/type/resources.rb +0 -2
  90. data/lib/puppet/type/user.rb +0 -2
  91. data/lib/puppet/type.rb +4 -15
  92. data/lib/puppet/util/at_fork/noop.rb +3 -6
  93. data/lib/puppet/util/fileparsing.rb +0 -6
  94. data/lib/puppet/util/filetype.rb +0 -2
  95. data/lib/puppet/util/ldap/generator.rb +0 -2
  96. data/lib/puppet/util/network_device/transport/base.rb +2 -4
  97. data/lib/puppet/util/rdoc/code_objects.rb +1 -1
  98. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +3 -2
  99. data/lib/puppet/util/selinux.rb +16 -1
  100. data/lib/puppet/util/symbolic_file_mode.rb +2 -2
  101. data/lib/puppet/util/windows/file.rb +0 -1
  102. data/lib/puppet/version.rb +1 -1
  103. data/man/man8/puppet-agent.8 +7 -3
  104. data/tasks/vox.rake +2 -2
  105. metadata +4 -2
@@ -31,8 +31,6 @@ class Puppet::Util::Ldap::Generator
31
31
  def source
32
32
  if @source
33
33
  @source.to_s
34
- else
35
- nil
36
34
  end
37
35
  end
38
36
 
@@ -11,11 +11,9 @@ class Puppet::Util::NetworkDevice::Transport::Base
11
11
  @timeout = 10
12
12
  end
13
13
 
14
- def send(cmd)
15
- end
14
+ def send(cmd); end
16
15
 
17
- def expect(prompt)
18
- end
16
+ def expect(prompt); end
19
17
 
20
18
  def command(cmd, options = {})
21
19
  send(cmd)
@@ -40,7 +40,7 @@ module RDoc
40
40
  def add_plugin(plugin)
41
41
  name = plugin.name
42
42
  type = plugin.type
43
- meth = AnyMethod.new("*args", name)
43
+ meth = AnyMethod.new(name)
44
44
  meth.params = "(*args)"
45
45
  meth.visibility = :public
46
46
  meth.document_self = true
@@ -13,8 +13,9 @@ module RDoc::PuppetParserCore
13
13
  end
14
14
  end
15
15
 
16
- # called with the top level file
17
- def initialize(top_level, file_name, body, options, stats)
16
+ # RDoc 8 passes (top_level, content, options, stats).
17
+ def initialize(top_level, _body, options, stats)
18
+ file_name = top_level.absolute_name
18
19
  @options = options
19
20
  @stats = stats
20
21
  @input_file_name = file_name
@@ -18,6 +18,9 @@ module Puppet::Util::SELinux
18
18
  S_IFDIR = 0o040000
19
19
  S_IFLNK = 0o120000
20
20
 
21
+ @@mounts_cache = nil
22
+ @@mounts_mtime = nil
23
+
21
24
  def self.selinux_support?
22
25
  return false unless defined?(Selinux)
23
26
  if Selinux.is_selinux_enabled == 1
@@ -259,6 +262,16 @@ module Puppet::Util::SELinux
259
262
 
260
263
  # Internal helper function to read and parse /proc/mounts
261
264
  def read_mounts
265
+ current_mtime = begin
266
+ File.mtime('/proc/mounts')
267
+ rescue Errno::ENOENT, Errno::ENOTDIR
268
+ nil
269
+ end
270
+
271
+ if @@mounts_cache && current_mtime && @@mounts_mtime == current_mtime
272
+ return @@mounts_cache
273
+ end
274
+
262
275
  mounts = ''.dup
263
276
  begin
264
277
  if File.method_defined? "read_nonblock"
@@ -292,7 +305,9 @@ module Puppet::Util::SELinux
292
305
 
293
306
  mntpoint[params[1]] = params[2]
294
307
  end
295
- mntpoint
308
+
309
+ @@mounts_mtime = current_mtime
310
+ @@mounts_cache = mntpoint
296
311
  end
297
312
 
298
313
  # Internal helper function to return which type of filesystem a given file
@@ -5,9 +5,9 @@ require_relative '../../puppet/util'
5
5
  module Puppet
6
6
  module Util
7
7
  module SymbolicFileMode
8
- SetUIDBit = ReadBit = 4
8
+ SetUIDBit = ReadBit = 4
9
9
  SetGIDBit = WriteBit = 2
10
- StickyBit = ExecBit = 1
10
+ StickyBit = ExecBit = 1
11
11
  SymbolicMode = { 'x' => ExecBit, 'w' => WriteBit, 'r' => ReadBit }
12
12
  SymbolicSpecialToBit = {
13
13
  't' => { 'u' => StickyBit, 'g' => StickyBit, 'o' => StickyBit },
@@ -127,7 +127,6 @@ module Puppet::Util::Windows::File
127
127
  INVALID_HANDLE_VALUE = FFI::Pointer.new(-1).address
128
128
  def self.create_file(file_name, desired_access, share_mode, security_attributes,
129
129
  creation_disposition, flags_and_attributes, template_file_handle)
130
-
131
130
  result = CreateFileW(wide_string(file_name.to_s),
132
131
  desired_access, share_mode, security_attributes, creation_disposition,
133
132
  flags_and_attributes, template_file_handle)
@@ -8,7 +8,7 @@
8
8
  # Raketasks and such to set the version based on the output of `git describe`
9
9
 
10
10
  module Puppet
11
- PUPPETVERSION = '9.0.0-beta2'
11
+ PUPPETVERSION = '9.0.0-rc2'
12
12
  IMPLEMENTATION = 'openvox'
13
13
 
14
14
  ##
@@ -1,6 +1,6 @@
1
1
  .\" generated with Ronn-NG/v0.10.1
2
2
  .\" http://github.com/apjanke/ronn-ng/tree/0.10.1
3
- .TH "PUPPET\-AGENT" "8" "August 2026" "Vox Pupuli" "OpenVox manual"
3
+ .TH "PUPPET\-AGENT" "8" "September 2026" "Vox Pupuli" "OpenVox manual"
4
4
  .SH "NAME"
5
5
  \fBpuppet\-agent\fR \- The puppet agent daemon provided by OpenVox
6
6
  .SH "SYNOPSIS"
@@ -8,7 +8,9 @@ Retrieves the client configuration from the OpenVox server and applies it to the
8
8
  .P
9
9
  This service may be run as a daemon, run periodically using cron (or something similar), or run interactively for testing purposes\.
10
10
  .SH "USAGE"
11
- puppet agent [\-\-certname \fINAME\fR] [\-D|\-\-daemonize|\-\-no\-daemonize] [\-d|\-\-debug] [\-\-detailed\-exitcodes] [\-\-digest \fIDIGEST\fR] [\-\-disable [MESSAGE]] [\-\-enable] [\-\-fingerprint] [\-h|\-\-help] [\-l|\-\-logdest syslog|eventlog|\fIABS FILEPATH\fR|console] [\-\-serverport \fIPORT\fR] [\-\-noop] [\-o|\-\-onetime] [\-\-sourceaddress \fIIP_ADDRESS\fR] [\-t|\-\-test] [\-v|\-\-verbose] [\-V|\-\-version] [\-w|\-\-waitforcert \fISECONDS\fR]
11
+ puppet agent [\-\-certname \fINAME\fR] [\-D|\-\-daemonize|\-\-no\-daemonize] [\-d|\-\-debug] [\-\-detailed\-exitcodes] [\-\-digest \fIDIGEST\fR] [\-\-disable [MESSAGE]] [\-\-enable] [\-\-environment \fINAME\fR] [\-\-fingerprint] [\-h|\-\-help] [\-l|\-\-logdest syslog|eventlog|\fIABS FILEPATH\fR|console] [\-\-serverport \fIPORT\fR] [\-\-noop] [\-o|\-\-onetime] [\-\-sourceaddress \fIIP_ADDRESS\fR] [\-t|\-\-test] [\-v|\-\-verbose] [\-V|\-\-version] [\-w|\-\-waitforcert \fISECONDS\fR] [\-\-\fIsetting\fR \fIVALUE\fR]
12
+ .P
13
+ Any setting that is valid in puppet\.conf is also accepted as a long argument, not only the ones listed above\. See OPTIONS below\.
12
14
  .SH "DESCRIPTION"
13
15
  This is the main OpenVox client\. Its job is to retrieve the local machine's configuration from a remote server and apply it\. In order to successfully communicate with the remote server, the client must have a certificate signed by a certificate authority that the server trusts; the recommended method for this, at the moment, is to run a certificate authority as part of the OpenVox server (which is the default)\. The client will connect and request a signed certificate, and will continue connecting until it receives one\.
14
16
  .P
@@ -45,7 +47,7 @@ See the configuration file documentation at https://docs\.openvoxproject\.org/op
45
47
  .IP "\(bu" 4
46
48
  \-\-daemonize: Send the process into the background\. This is the default\. (This is an OpenVox setting, and can go in puppet\.conf\. Note the special 'no\-' prefix for boolean settings on the command line\.)
47
49
  .IP "\(bu" 4
48
- \-\-no\-daemonize: Do not send the process into the background\. (This is an OpenVox setting, and can go in puppet\.conf\. Note the special 'no\-' prefix for boolean settings on the command line\.)
50
+ \-\-no\-daemonize: Do not send the process into the background\. (This is an OpenVox setting, and can go in puppet\.conf\.)
49
51
  .IP "\(bu" 4
50
52
  \-\-debug: Enable full debugging\.
51
53
  .IP "\(bu" 4
@@ -75,6 +77,8 @@ Disable can also take an optional message that will be reported by the 'puppet a
75
77
  .IP
76
78
  \&'puppet agent' exits after executing this\.
77
79
  .IP "\(bu" 4
80
+ \-\-environment: Request a catalog for the given environment\. When set on the command line, the agent uses this environment directly and skips both the environment recorded by the previous run and the node request to the server, which is how it picks an environment otherwise\. This is the usual way to move an agent out of an environment it switched to on an earlier run\. The server can still assign a different environment, for example through an ENC\. In that case the agent switches to the server's environment and requests the catalog again\. If 'strict_environment_mode' is set, the agent refuses the mismatched catalog and fails the run instead of switching\. (This is an OpenVox setting, and can go in puppet\.conf\.)
81
+ .IP "\(bu" 4
78
82
  \-\-evaltrace: Logs each resource as it is being evaluated\. This allows you to interactively see exactly what is being done\. (This is an OpenVox setting, and can go in puppet\.conf\. Note the special 'no\-' prefix for boolean settings on the command line\.)
79
83
  .IP "\(bu" 4
80
84
  \-\-fingerprint: Display the current certificate or certificate signing request fingerprint and then exit\. Use the '\-\-digest' option to change the digest algorithm used\.
data/tasks/vox.rake CHANGED
@@ -9,8 +9,8 @@ namespace :vox do
9
9
  puts "Setting version to #{version}"
10
10
 
11
11
  data = File.read('lib/puppet/version.rb')
12
- new_data = data.sub(/PUPPETVERSION = '\d+\.\d+\.\d+(\.rc\d+)?'/, "PUPPETVERSION = '#{version}'")
13
- warn 'Failed to update version in lib/puppet/version.rb' if data == new_data
12
+ new_data = data.sub(/PUPPETVERSION = '\d+\.\d+\.\d+(-(alpha|beta|rc)\d+)?'/, "PUPPETVERSION = '#{version}'")
13
+ fail 'Failed to update version in lib/puppet/version.rb' if data == new_data
14
14
 
15
15
  File.write('lib/puppet/version.rb', new_data)
16
16
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openvox
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.0.0.pre.beta2
4
+ version: 9.0.0.pre.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenVox Project
@@ -241,7 +241,9 @@ files:
241
241
  - CHANGELOG.md
242
242
  - CODE_OF_CONDUCT.md
243
243
  - Gemfile
244
+ - Gemfile.lock
244
245
  - Guardfile.example
246
+ - HISTORY.md
245
247
  - LICENSE
246
248
  - README.md
247
249
  - Rakefile
@@ -1363,7 +1365,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1363
1365
  - !ruby/object:Gem::Version
1364
1366
  version: 1.3.1
1365
1367
  requirements: []
1366
- rubygems_version: 4.0.16
1368
+ rubygems_version: 4.0.20
1367
1369
  specification_version: 4
1368
1370
  summary: OpenVox, a community implementation of Puppet -- an automated configuration
1369
1371
  management tool