Skip to content
Draft
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
4 changes: 1 addition & 3 deletions .fixtures.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,4 @@ fixtures:
"cron_core": "https://github.com/puppetlabs/puppetlabs-cron_core.git"
"facts": "https://github.com/puppetlabs/puppetlabs-facts.git"
"provision": "https://github.com/puppetlabs/provision.git"
puppet_agent:
repo: 'https://github.com/puppetlabs/puppetlabs-puppet_agent.git'
ref: v4.21.0
"puppet_agent": "https://github.com/puppetlabs/puppetlabs-puppet_agent.git"
8 changes: 8 additions & 0 deletions .puppet-lint.rc
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
--fail-on-warnings
--relative
--no-80chars-check
--no-140chars-check
--no-class_inherits_from_params_class-check
--no-autoloader_layout-check
--no-documentation-check
--no-single_quote_string_with_variables-check
--ignore-paths=.vendor/**/*.pp,.bundle/**/*.pp,pkg/**/*.pp,spec/**/*.pp,tests/**/*.pp,types/**/*.pp,vendor/**/*.pp
--no-anchor_resource-check
--no-params_empty_string_assignment-check
2 changes: 1 addition & 1 deletion .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ require:
AllCops:
NewCops: enable
DisplayCopNames: true
TargetRubyVersion: '2.6'
TargetRubyVersion: 3.1
Include:
- "**/*.rb"
Exclude:
Expand Down
35 changes: 22 additions & 13 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,34 +14,35 @@ def location_for(place_or_version, fake_version = nil)
end

group :development do
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 "racc", '~> 1.4.0', require: false if Gem::Requirement.create(['>= 2.7.0', '< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "deep_merge", '~> 1.2.2', require: false
gem "voxpupuli-puppet-lint-plugins", '~> 5.0', require: false
gem "facterdb", '~> 2.1', require: false
gem "facterdb", '~> 2.1', require: false if Gem::Requirement.create(['< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "facterdb", '~> 3.0', require: false if Gem::Requirement.create(['>= 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "metadata-json-lint", '~> 4.0', require: false
gem "rspec-puppet-facts", '~> 4.0', require: false
gem "json-schema", '< 5.1.1', require: false
gem "rspec-puppet-facts", '~> 4.0', require: false if Gem::Requirement.create(['< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "rspec-puppet-facts", '~> 5.0', require: false if Gem::Requirement.create(['>= 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "dependency_checker", '~> 1.0.0', require: false
gem "parallel_tests", '= 3.12.1', require: false
gem "pry", '~> 0.10', require: false
gem "simplecov-console", '~> 0.9', require: false
gem "puppet-debugger", '~> 1.0', require: false
gem "puppet-debugger", '~> 1.6', require: false
gem "rubocop", '~> 1.50.0', require: false
gem "rubocop-performance", '= 1.16.0', require: false
gem "rubocop-rspec", '= 2.19.0', require: false
gem "rb-readline", '= 0.5.5', require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "rexml", '>= 3.3.9', require: false
gem "bigdecimal", '< 3.2.2', require: false, platforms: [:mswin, :mingw, :x64_mingw]
end
group :development, :release_prep do
gem "puppet-strings", '~> 4.0', require: false
gem "puppetlabs_spec_helper", '~> 7.0', require: false
gem "puppetlabs_spec_helper", '~> 8.0', require: false
end
group :system_tests do
gem "puppet_litmus", '~> 1.0', require: false, platforms: [:ruby, :x64_mingw]
gem "puppet_litmus", '~> 2.0', require: false, platforms: [:ruby, :x64_mingw] if !ENV['PUPPET_FORGE_TOKEN'].to_s.empty?
gem "puppet_litmus", '~> 1.0', require: false, platforms: [:ruby, :x64_mingw] if ENV['PUPPET_FORGE_TOKEN'].to_s.empty?
gem "CFPropertyList", '< 3.0.7', require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "serverspec", '~> 2.41', require: false
end
Expand All @@ -52,12 +53,20 @@ hiera_version = ENV['HIERA_GEM_VERSION']

gems = {}

gems['puppet'] = location_for(puppet_version)
puppet_version = ENV.fetch('PUPPET_GEM_VERSION', nil)
facter_version = ENV.fetch('FACTER_GEM_VERSION', nil)
hiera_version = ENV.fetch('HIERA_GEM_VERSION', nil)

# If facter or hiera versions have been specified via the environment
# variables
# If PUPPET_FORGE_TOKEN is set then use authenticated source for both puppet and facter, since facter is a transitive dependency of puppet
# Otherwise, do as before and use location_for to fetch gems from the default source
if !ENV['PUPPET_FORGE_TOKEN'].to_s.empty?
gems['puppet'] = ['~> 8.11', { require: false, source: 'https://rubygems-puppetcore.puppet.com' }]
gems['facter'] = ['~> 4.11', { require: false, source: 'https://rubygems-puppetcore.puppet.com' }]
else
gems['puppet'] = location_for(puppet_version)
gems['facter'] = location_for(facter_version) if facter_version
end

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

gems.each do |gem_name, gem_params|
Expand Down
8 changes: 8 additions & 0 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,11 @@ require 'puppet-strings/tasks' if Gem.loaded_specs.key? 'puppet-strings'
PuppetLint.configuration.send('disable_relative')
PuppetLint.configuration.send('disable_anchor_resource')
PuppetLint.configuration.send('disable_params_empty_string_assignment')
PuppetLint.configuration.send('disable_80chars')
PuppetLint.configuration.send('disable_140chars')
PuppetLint.configuration.send('disable_class_inherits_from_params_class')
PuppetLint.configuration.send('disable_autoloader_layout')
PuppetLint.configuration.send('disable_documentation')
PuppetLint.configuration.send('disable_single_quote_string_with_variables')
PuppetLint.configuration.fail_on_warnings = true
PuppetLint.configuration.ignore_paths = [".vendor/**/*.pp", ".bundle/**/*.pp", "pkg/**/*.pp", "spec/**/*.pp", "tests/**/*.pp", "types/**/*.pp", "vendor/**/*.pp"]
2 changes: 1 addition & 1 deletion lib/puppet/provider/mysql.rb
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ def self.mysql_caller(text_of_sql, type)
mysql_raw([defaults_file, '-NBe', text_of_sql].flatten.compact).scrub
end
else
raise Puppet::Error, _("#mysql_caller: Unrecognised type '%{type}'" % { type: type })
raise Puppet::Error, _("#mysql_caller: Unrecognised type '%{type}'" % { type: })
end
end

Expand Down
2 changes: 1 addition & 1 deletion lib/puppet/provider/mysql_database/mysql.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ def self.instances
k, v = line.split(%r{\s})
attributes[k] = v
end
new(name: name,
new(name:,
ensure: :present,
charset: attributes['character_set_database'],
collate: attributes['collation_database'])
Expand Down
4 changes: 2 additions & 2 deletions lib/puppet/provider/mysql_grant/mysql.rb
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ def self.instances

instance_configs[name] = {
privileges: sorted_privileges,
table: table,
table:,
user: "#{user}@#{host}",
options: options.uniq
}
Expand All @@ -108,7 +108,7 @@ def self.instances
instances = []
instance_configs.map do |name, config|
instances << new(
name: name,
name:,
ensure: :present,
privileges: config[:privileges],
table: config[:table],
Expand Down
2 changes: 1 addition & 1 deletion lib/puppet/provider/mysql_login_path/inifile.rb
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ class Error < StandardError; end
def self.load(filename, opts = {})
return unless File.file? filename

new(opts.merge(filename: filename))
new(opts.merge(filename:))
end

# Get and set the filename
Expand Down
4 changes: 2 additions & 2 deletions lib/puppet/provider/mysql_login_path/mysql_login_path.rb
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ def mysql_config_editor_cmd(context, uid, *args)
Puppet::Util::Execution.execute(
args,
failonfail: true,
uid: uid,
uid:,
custom_environment: { 'HOME' => homedir },
)
end
Expand All @@ -70,7 +70,7 @@ def my_print_defaults_cmd(context, uid, *args)
Puppet::Util::Execution.execute(
args,
failonfail: true,
uid: uid,
uid:,
custom_environment: { 'HOME' => homedir },
)
end
Expand Down
2 changes: 1 addition & 1 deletion lib/puppet/provider/mysql_plugin/mysql.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
def self.instances
mysql_caller('show plugins', 'regular').split("\n").map do |line|
name, _status, _type, library, _license = line.split(%r{\t})
new(name: name,
new(name:,
ensure: :present,
soname: library)
end
Expand Down
2 changes: 1 addition & 1 deletion lib/puppet/provider/mysql_user/mysql.rb
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ def self.instances
# https://jira.mariadb.org/browse/MDEV-16238 https://jira.mariadb.org/browse/MDEV-16774
@password = @authentication_string
end
new(name: name,
new(name:,
ensure: :present,
password_hash: @password,
plugin: @plugin,
Expand Down
64 changes: 4 additions & 60 deletions metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,77 +14,21 @@
}
],
"operatingsystem_support": [
{
"operatingsystem": "RedHat",
"operatingsystemrelease": [
"7",
"8",
"9"
]
},
{
"operatingsystem": "CentOS",
"operatingsystemrelease": [
"7",
"8"
]
},
{
"operatingsystem": "OracleLinux",
"operatingsystemrelease": [
"7"
]
},
{
"operatingsystem": "Debian",
"operatingsystemrelease": [
"10",
"11",
"12"
]
},
{
"operatingsystem": "Scientific",
"operatingsystemrelease": [
"7"
]
},
{
"operatingsystem": "SLES",
"operatingsystemrelease": [
"12",
"15"
]
},
{
"operatingsystem": "Ubuntu",
"operatingsystemrelease": [
"18.04",
"20.04",
"22.04"
]
},
{
"operatingsystem": "Rocky",
"operatingsystemrelease": [
"8"
]
},
{
"operatingsystem": "AlmaLinux",
"operatingsystemrelease": [
"8"
"24.04"
]
}
],
"requirements": [
{
"name": "puppet",
"version_requirement": ">= 7.0.0 < 9.0.0"
"version_requirement": ">= 8.0.0 < 9.0.0"
}
],
"description": "MySQL module",
"pdk-version": "3.5.0 (ga43db72)",
"template-url": "https://github.com/puppetlabs/pdk-templates#main",
"template-ref": "tags/3.2.0.4-0-g5d17ec1",
"pdk-version": "3.2.0"
"template-ref": "heads/main-0-g11c0f3d"
}
6 changes: 5 additions & 1 deletion spec/spec_helper_acceptance_local.rb
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ def ubuntu_2204?
os[:family] == 'ubuntu' && os[:release].to_f == 22.04
end

def ubuntu_2404?
os[:family] == 'ubuntu' && os[:release].to_f == 24.04
end

def sles_15?
os[:family] == 'sles' && os[:release].to_i == 15
end
Expand All @@ -41,7 +45,7 @@ def debian_12?
end

def charset
@charset ||= (debian_12? || ubuntu_2204? || sles_15?) ? 'utf8mb3' : 'utf8'
@charset ||= (ubuntu_2404? || debian_12? || ubuntu_2204? || sles_15?) ? 'utf8mb3' : 'utf8'
end

def get_db_cmd
Expand Down
2 changes: 1 addition & 1 deletion tasks/export.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ def get(file, database, user, password)
cmd_string << " --password=#{password}" unless password.nil?
cmd_string << " > #{file}" unless file.nil?
stdout, stderr, status = Open3.capture3(cmd_string)
raise Puppet::Error, _("stderr: '%{stderr}'" % { stderr: stderr }) if status != 0
raise Puppet::Error, _("stderr: '%{stderr}'" % { stderr: }) if status != 0

{ status: stdout.strip }
end
Expand Down
2 changes: 1 addition & 1 deletion tasks/sql.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ def get(sql, database, user, password)
cmd << "--user=#{user}" unless user.nil?
cmd << "--password=#{password}" unless password.nil?
stdout, stderr, status = Open3.capture3(*cmd)
raise Puppet::Error, _("stderr: '%{stderr}'" % { stderr: stderr }) if status != 0
raise Puppet::Error, _("stderr: '%{stderr}'" % { stderr: }) if status != 0

{ status: stdout.strip }
end
Expand Down
Loading