Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

upgrade module for puppet 6+ && stdlib 9+ #142

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 3 additions & 7 deletions .fixtures.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
fixtures:
repositories:
'stdlib':
repo: 'git:/puppetlabs/puppetlabs-stdlib'
ref: '4.9.0'
'concat':
repo: 'git:/puppetlabs/puppetlabs-concat'
ref: '1.2.4'
symlinks:
supervisord: "#{source_dir}"
forge_modules:
concat: puppetlabs-concat
stdlib: puppetlabs-stdlib
14 changes: 14 additions & 0 deletions .puppet-lint.rc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
--relative
--no-lookup_in_parameter-check
--no-parameter_documentation-check
--no-parameter_types-check
--no-params_empty_string_assignment-check
--no-relative_classname_inclusion-check
--no-relative_classname_reference-check
--no-strict_indent-check
--no-top_scope_facts-check
--no-topscope_variable-check
--no-trailing_comma-check
--no-selector_inside_resource-check
--no-documentation-check
--no-140chars-check
82 changes: 63 additions & 19 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,26 +1,70 @@
source 'https://rubygems.org'

group :test do
gem 'rake', '10.5.0'
gem 'puppet-lint'
gem 'puppet-syntax'
gem 'puppetlabs_spec_helper', '1.0.1'
gem 'rspec-puppet', '2.2.0'
gem 'rspec', '2.99.0'
source ENV['GEM_SOURCE'] || 'https://gems.ftven.net'

def location_for(place_or_version, fake_version = nil)
git_url_regex = %r{\A(?<url>(https?|git)[:@][^#]*)(#(?<branch>.*))?}
file_url_regex = %r{\Afile:\/\/(?<path>.*)}

if place_or_version && (git_url = place_or_version.match(git_url_regex))
[fake_version, { git: git_url[:url], branch: git_url[:branch], require: false }].compact
elsif place_or_version && (file_url = place_or_version.match(file_url_regex))
['>= 0', { path: File.expand_path(file_url[:path]), require: false }]
else
[place_or_version, { require: false }]
end
end

group :development do
gem 'travis'
gem 'travis-lint'
gem 'beaker'
gem 'beaker-rspec'
gem 'pry'
gem 'guard-rake'
gem "json", '= 2.1.0', require: false if Gem::Requirement.create(['>= 2.5.0', '< 2.7.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "json", '= 2.3.0', require: false if Gem::Requirement.create(['>= 2.7.0', '< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "json", '= 2.5.1', require: false if Gem::Requirement.create(['>= 3.0.0', '< 3.0.5']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "json", '= 2.6.1', require: false if Gem::Requirement.create(['>= 3.1.0', '< 3.1.3']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "json", '= 2.6.3', require: false if Gem::Requirement.create(['>= 3.2.0', '< 4.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "voxpupuli-puppet-lint-plugins", '~> 4.0', require: false
gem "facterdb", '~> 1.18', require: false
gem "metadata-json-lint", '>= 2.0.2', '< 4.0.0', require: false
gem "puppetlabs_spec_helper", '~> 5.0', require: false
gem "rspec-puppet-facts", '~> 2.0', require: false
gem "codecov", '~> 0.2', require: false
gem "dependency_checker", '~> 0.2', require: false
gem "parallel_tests", '= 3.12.1', require: false
gem "pry", '~> 0.10', require: false
gem "simplecov-console", '~> 0.5', require: false
gem "puppet-debugger", '~> 1.0', require: false
gem "rubocop", '= 1.6.1', require: false
gem "rubocop-performance", '= 1.9.1', require: false
gem "rubocop-rspec", '= 2.0.1', require: false
gem "rb-readline", '= 0.5.5', require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "rspec-puppet-utils", require: false
gem "webmock", require: false
gem "ipaddress", require: false
gem "hashie", require: false
gem "vault", require: false
gem "debouncer", require: false
gem "concurrent-ruby", require: false
gem "sdk_api", '= 0.4.0.9', require: false
gem "minitest", '= 5.15.0', require: false
gem "net-ssh", '= 6.1.0', require: false
end
group :system_tests do
gem "puppet_litmus", '< 1.0.0', require: false, platforms: [:ruby, :x64_mingw]
gem "serverspec", '~> 2.41', require: false
end

puppet_version = ENV['PUPPET_GEM_VERSION']
facter_version = ENV['FACTER_GEM_VERSION']
hiera_version = ENV['HIERA_GEM_VERSION']

gems = {}

gems['puppet'] = location_for(puppet_version)

# If facter or hiera versions have been specified via the environment
# variables

gems['facter'] = location_for(facter_version) if facter_version
gems['hiera'] = location_for(hiera_version) if hiera_version

if puppetversion = ENV['PUPPET_VERSION']
gem 'puppet', puppetversion
else
gem 'puppet', '~> 3.8.0'
gems.each do |gem_name, gem_params|
gem gem_name, *gem_params
end
# vim: syntax=ruby
File renamed without changes.
2 changes: 1 addition & 1 deletion tests/group.pp → examples/group.pp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
supervisord::group { 'mygroup':
priority => 100,
program => ['program1', 'program2', 'program3']
}
}
File renamed without changes.
2 changes: 1 addition & 1 deletion tests/program.pp → examples/program.pp
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@
directory => undef,
umask => '022',
serverurl => 'AUTO'
}
}
File renamed without changes.
5 changes: 2 additions & 3 deletions manifests/config.pp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
# Configuration class for supervisor init and conf directories
#
class supervisord::config inherits supervisord {

if ($supervisord::manage_config) {
file { $supervisord::config_include:
ensure => directory,
Expand Down Expand Up @@ -34,7 +33,7 @@

if $supervisord::install_init {
file { $supervisord::init_script:
ensure => present,
ensure => file,
owner => 'root',
mode => $supervisord::init_mode,
content => template($supervisord::init_script_template),
Expand All @@ -43,7 +42,7 @@

if $supervisord::init_defaults {
file { $supervisord::init_defaults:
ensure => present,
ensure => file,
owner => 'root',
mode => '0755',
content => template($supervisord::init_defaults_template),
Expand Down
12 changes: 3 additions & 9 deletions manifests/ctlplugin.pp
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,13 @@
# Documentation on parameters available at:
# http://supervisord.org/configuration.html#program-x-section-settings
#
define supervisord::ctlplugin(
$ctl_factory,
$ensure = present,
define supervisord::ctlplugin (
String $ctl_factory,
$ensure = present,
) {
include supervisord

# parameter validation
validate_string($ctl_factory)

concat::fragment { "ctlplugin:${name}":
target => $supervisord::config_file,
content => template('supervisord/conf/ctlplugin.erb'),
order => 70,
}

}
130 changes: 46 additions & 84 deletions manifests/eventlistener.pp
Original file line number Diff line number Diff line change
Expand Up @@ -5,96 +5,60 @@
# Documentation on parameters available at:
# http://supervisord.org/configuration.html#eventlistener-x-section-settings
#
define supervisord::eventlistener(
$command,
$ensure = present,
$ensure_process = 'running',
$cfgreload = undef,
$buffer_size = 10,
$events = undef,
$result_handler = undef,
$env_var = undef,
$process_name = undef,
$numprocs = undef,
$numprocs_start = undef,
$priority = undef,
$autostart = undef,
$autorestart = undef,
$startsecs = undef,
$startretries = undef,
$exitcodes = undef,
$stopsignal = undef,
$stopwaitsecs = undef,
$stopasgroup = undef,
$killasgroup = undef,
$user = undef,
$redirect_stderr = undef,
$stdout_logfile = "eventlistener_${name}.log",
$stdout_logfile_maxbytes = undef,
$stdout_logfile_backups = undef,
$stdout_events_enabled = undef,
$stderr_logfile = "eventlistener_${name}.error",
$stderr_logfile_maxbytes = undef,
$stderr_logfile_backups = undef,
$stderr_events_enabled = undef,
$environment = undef,
$event_environment = undef,
$directory = undef,
$umask = undef,
$serverurl = undef,
$config_file_mode = '0644'
define supervisord::eventlistener (
String $command,
$ensure = present,
Enum['running', 'stopped', 'removed', 'unmanaged'] $ensure_process = 'running',
Optional[Boolean] $cfgreload = undef,
Integer $buffer_size = 10,
Optional[Array] $events = undef,
Optional[String] $result_handler = undef,
$env_var = undef,
Optional[String] $process_name = undef,
Optional[Integer] $numprocs = undef,
Optional[Integer] $numprocs_start = undef,
Optional[Integer] $priority = undef,
Optional[Boolean] $autostart = undef,
Optional[Variant[Boolean, Enum['unexpected']]] $autorestart = undef,
Optional[Integer] $startsecs = undef,
Optional[Integer] $startretries = undef,
Optional[String] $exitcodes = undef,
Optional[Enum['TERM', 'HUP', 'INT', 'QUIT', 'KILL', 'USR1', 'USR2']] $stopsignal = undef,
Optional[Integer] $stopwaitsecs = undef,
Optional[Boolean] $stopasgroup = undef,
Optional[Boolean] $killasgroup = undef,
Optional[String] $user = undef,
Optional[Boolean] $redirect_stderr = undef,
String $stdout_logfile = "eventlistener_${name}.log",
Optional[Supervisord::Maxbytes] $stdout_logfile_maxbytes = undef,
Optional[Integer] $stdout_logfile_backups = undef,
Optional[Boolean] $stdout_events_enabled = undef,
String $stderr_logfile = "eventlistener_${name}.error",
Optional[Supervisord::Maxbytes] $stderr_logfile_maxbytes = undef,
Optional[Integer] $stderr_logfile_backups = undef,
Optional[Boolean] $stderr_events_enabled = undef,
$environment = undef,
$event_environment = undef,
Optional[Stdlib::AbsolutePath] $directory = undef,
Optional[Stdlib::Filemode] $umask = undef,
Optional[String] $serverurl = undef,
Stdlib::Filemode $config_file_mode = '0644'
) {

include supervisord

# parameter validation
validate_string($command)
validate_re($ensure_process, ['running', 'stopped', 'removed', 'unmanaged'])
if $cfgreload { validate_bool($cfgreload) }
if !is_integer($buffer_size) { validate_re($buffer_size, '^\d+')}
if $events { validate_array($events) }
if $result_handler { validate_string($result_handler) }
if $numprocs { if !is_integer($numprocs) { validate_re($numprocs, '^\d+')} }
if $numprocs_start { if !is_integer($numprocs_start) { validate_re($numprocs_start, '^\d+')} }
if $priority { if !is_integer($priority) { validate_re($priority, '^\d+') } }
if $autostart { if !is_bool($autostart) { validate_re($autostart, ['true', 'false']) } }
if $autorestart { if !is_bool($autorestart) { validate_re($autorestart, ['true', 'false', 'unexpected']) } }
if $startsecs { if !is_integer($startsecs) { validate_re($startsecs, '^\d+')} }
if $startretries { if !is_integer($startretries) { validate_re($startretries, '^\d+')} }
if $exitcodes { validate_string($exitcodes)}
if $stopsignal { validate_re($stopsignal, ['TERM', 'HUP', 'INT', 'QUIT', 'KILL', 'USR1', 'USR2']) }
if $stopwaitsecs { if !is_integer($stopwaitsecs) { validate_re($stopwaitsecs, '^\d+')} }
if $stopasgroup { validate_bool($stopasgroup) }
if $killasgroup { validate_bool($killasgroup) }
if $user { validate_string($user) }
if $redirect_stderr { validate_bool($redirect_stderr) }
validate_string($stdout_logfile)
if $stdout_logfile_maxbytes { validate_string($stdout_logfile_maxbytes) }
if $stdout_logfile_backups { if !is_integer($stdout_logfile_backups) { validate_re($stdout_logfile_backups, '^\d+')} }
if $stdout_events_enabled { validate_bool($stdout_events_enabled) }
validate_string($stderr_logfile)
if $stderr_logfile_maxbytes { validate_string($stderr_logfile_maxbytes) }
if $stderr_logfile_backups { if !is_integer($stderr_logfile_backups) { validate_re($stderr_logfile_backups, '^\d+')} }
if $stderr_events_enabled { validate_bool($stderr_events_enabled) }
if $directory { validate_absolute_path($directory) }
if $umask { validate_re($umask, '^[0-7][0-7][0-7]$') }
validate_re($config_file_mode, '^0[0-7][0-7][0-7]$')

# create the correct log variables
$stdout_logfile_path = $stdout_logfile ? {
/(NONE|AUTO|syslog)/ => $stdout_logfile,
/^\// => $stdout_logfile,
default => "${supervisord::log_path}/${stdout_logfile}",
/(NONE|AUTO|syslog)/ => $stdout_logfile,
/^\// => $stdout_logfile,
default => "${supervisord::log_path}/${stdout_logfile}",
}

$stderr_logfile_path = $stderr_logfile ? {
/(NONE|AUTO|syslog)/ => $stderr_logfile,
/^\// => $stderr_logfile,
default => "${supervisord::log_path}/${stderr_logfile}",
/(NONE|AUTO|syslog)/ => $stderr_logfile,
/^\// => $stderr_logfile,
default => "${supervisord::log_path}/${stderr_logfile}",
}

# Handle deprecated $environment variable
if $environment { notify {'[supervisord] *** DEPRECATED WARNING ***: $event_environment has replaced $environment':}}
if $environment { notify { '[supervisord] *** DEPRECATED WARNING ***: $event_environment has replaced $environment': } }
$_event_environment = $event_environment ? {
undef => $environment,
default => $event_environment
Expand All @@ -103,11 +67,9 @@
# convert environment data into a csv
if $env_var {
$env_hash = hiera_hash($env_var)
validate_hash($env_hash)
$env_string = hash2csv($env_hash)
}
elsif $_event_environment {
validate_hash($_event_environment)
$env_string = hash2csv($_event_environment)
}

Expand Down Expand Up @@ -156,6 +118,6 @@
unless => 'running'
}
}
default: { }
default: {}
}
}
Loading