From b79ccf4d30e42b5e2b43191dd9fc1ef8beb51fce Mon Sep 17 00:00:00 2001 From: Ewoud Kohl van Wijngaarden Date: Wed, 25 Nov 2020 22:59:49 +0100 Subject: [PATCH 01/64] Modulesync 4.0.0 --- .github/CONTRIBUTING.md | 9 +- .github/workflows/ci.yml | 75 +++ .github/workflows/release.yml | 29 + .msync.yml | 3 +- .overcommit.yml | 2 +- .pmtignore | 17 +- .rubocop.yml | 552 +----------------- .sync.yml | 5 - .travis.yml | 56 -- Gemfile | 29 +- Rakefile | 9 +- spec/acceptance/nodesets/archlinux-2-x64.yml | 13 - .../nodesets/ec2/amazonlinux-2016091.yml | 31 - .../nodesets/ec2/image_templates.yaml | 34 -- spec/acceptance/nodesets/ec2/rhel-73-x64.yml | 29 - .../nodesets/ec2/sles-12sp2-x64.yml | 29 - .../nodesets/ec2/ubuntu-1604-x64.yml | 29 - .../nodesets/ec2/windows-2016-base-x64.yml | 29 - spec/spec_helper.rb | 2 +- 19 files changed, 146 insertions(+), 836 deletions(-) create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/release.yml delete mode 100644 .travis.yml delete mode 100644 spec/acceptance/nodesets/archlinux-2-x64.yml delete mode 100644 spec/acceptance/nodesets/ec2/amazonlinux-2016091.yml delete mode 100644 spec/acceptance/nodesets/ec2/image_templates.yaml delete mode 100644 spec/acceptance/nodesets/ec2/rhel-73-x64.yml delete mode 100644 spec/acceptance/nodesets/ec2/sles-12sp2-x64.yml delete mode 100644 spec/acceptance/nodesets/ec2/ubuntu-1604-x64.yml delete mode 100644 spec/acceptance/nodesets/ec2/windows-2016-base-x64.yml diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 2240a9705..f1f88ccf5 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -33,6 +33,8 @@ By participating in this project you agree to abide by its terms. Please be prepared to repeat some of these steps as our contributors review your code. +Also consider sending in your profile code that calls this component module as an acceptance test or provide it via an issue. This helps reviewers a lot to test your use case and prevents future regressions! + ## Writing proper commits - short version * Make commits of logical units. @@ -230,14 +232,14 @@ simple tests against it after applying the module. You can run this with: ```sh -bundle exec rake acceptance +bundle exec rake beaker ``` This will run the tests on the module's default nodeset. You can override the nodeset used, e.g., ```sh -BEAKER_set=centos-7-x64 bundle exec rake acceptance +BEAKER_set=centos-7-x64 bundle exec rake beaker ``` There are default rake tasks for the various acceptance test modules, e.g., @@ -264,10 +266,9 @@ The following strings are known to work: * ubuntu1604 * ubuntu1804 -* debian8 +* ubuntu2004 * debian9 * debian10 -* centos6 * centos7 * centos8 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..b4f47e87d --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,75 @@ +name: CI + +on: pull_request + +jobs: + setup_matrix: + name: 'Setup Test Matrix' + runs-on: ubuntu-latest + outputs: + beaker_setfiles: ${{ steps.get-outputs.outputs.beaker_setfiles }} + puppet_major_versions: ${{ steps.get-outputs.outputs.puppet_major_versions }} + puppet_unit_test_matrix: ${{ steps.get-outputs.outputs.puppet_unit_test_matrix }} + env: + BUNDLE_WITHOUT: development:test:release + steps: + - uses: actions/checkout@v2 + - name: Setup ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '2.7' + bundler-cache: true + - name: Run rake validate + run: bundle exec rake validate + - name: Setup Test Matrix + id: get-outputs + run: bundle exec metadata2gha --use-fqdn --pidfile-workaround false + + unit: + needs: setup_matrix + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + include: ${{fromJson(needs.setup_matrix.outputs.puppet_unit_test_matrix)}} + env: + BUNDLE_WITHOUT: development:system_tests:release + PUPPET_VERSION: "~> ${{ matrix.puppet }}.0" + name: Puppet ${{ matrix.puppet }} (Ruby ${{ matrix.ruby }}) + steps: + - uses: actions/checkout@v2 + - name: Setup ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + bundler-cache: true + - name: Run tests + run: bundle exec rake + + acceptance: + needs: setup_matrix + runs-on: ubuntu-latest + env: + BUNDLE_WITHOUT: development:test:release + strategy: + fail-fast: false + matrix: + setfile: ${{fromJson(needs.setup_matrix.outputs.beaker_setfiles)}} + puppet: ${{fromJson(needs.setup_matrix.outputs.puppet_major_versions)}} + name: ${{ matrix.puppet.name }} - ${{ matrix.setfile.name }} + steps: + - name: Enable IPv6 on docker + run: | + echo '{"ipv6":true,"fixed-cidr-v6":"2001:db8:1::/64"}' | sudo tee /etc/docker/daemon.json + sudo service docker restart + - uses: actions/checkout@v2 + - name: Setup ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '2.7' + bundler-cache: true + - name: Run tests + run: bundle exec rake beaker + env: + BEAKER_PUPPET_COLLECTION: ${{ matrix.puppet.collection }} + BEAKER_setfile: ${{ matrix.setfile.value }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000..68b85284a --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,29 @@ +name: Release + +on: + push: + tags: + - '*' + +env: + BUNDLE_WITHOUT: development:test:system_tests + +jobs: + deploy: + name: 'deploy to forge' + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v2 + - name: Setup Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '2.7' + bundler-cache: true + - name: Build and Deploy + env: + # Configure secrets here: + # https://docs.github.com/en/free-pro-team@latest/actions/reference/encrypted-secrets + BLACKSMITH_FORGE_USERNAME: '${{ secrets.PUPPET_FORGE_USERNAME }}' + BLACKSMITH_FORGE_API_KEY: '${{ secrets.PUPPET_FORGE_API_KEY }}' + run: bundle exec rake module:push diff --git a/.msync.yml b/.msync.yml index 4c7999c42..a0770a830 100644 --- a/.msync.yml +++ b/.msync.yml @@ -1 +1,2 @@ -modulesync_config_version: '3.0.0' +--- +modulesync_config_version: '4.0.0' diff --git a/.overcommit.yml b/.overcommit.yml index 1b03fad73..0af0fdc0e 100644 --- a/.overcommit.yml +++ b/.overcommit.yml @@ -61,4 +61,4 @@ PrePush: - 'validate' - 'test' - 'rubocop' - command: [ 'bundle', 'exec', 'rake' ] + command: ['bundle', 'exec', 'rake'] diff --git a/.pmtignore b/.pmtignore index 4e6d54b82..33a8c65d6 100644 --- a/.pmtignore +++ b/.pmtignore @@ -1,11 +1,12 @@ docs/ pkg/ +Gemfile Gemfile.lock Gemfile.local vendor/ .vendor/ -spec/fixtures/manifests/ -spec/fixtures/modules/ +spec/ +Rakefile .vagrant/ .bundle/ .ruby-version @@ -13,9 +14,21 @@ coverage/ log/ .idea/ .dependencies/ +.github/ .librarian/ Puppetfile.lock *.iml +.editorconfig +.fixtures.yml +.gitignore +.msync.yml +.overcommit.yml +.pmtignore +.rspec +.rspec_parallel +.rubocop.yml +.sync.yml .*.sw? .yardoc/ +.yardopts Dockerfile diff --git a/.rubocop.yml b/.rubocop.yml index 316e4ec1d..198a3599c 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,549 +1,3 @@ -require: rubocop-rspec -AllCops: -# Puppet Server 5 defaults to jruby 1.7 so TargetRubyVersion must stay at 1.9 until we drop support for puppet 5 - TargetRubyVersion: 1.9 - Include: - - ./**/*.rb - Exclude: - - files/**/* - - vendor/**/* - - .vendor/**/* - - pkg/**/* - - spec/fixtures/**/* - - Gemfile - - Rakefile - - Guardfile - - Vagrantfile -Lint/ConditionPosition: - Enabled: True - -Lint/ElseLayout: - Enabled: True - -Lint/UnreachableCode: - Enabled: True - -Lint/UselessComparison: - Enabled: True - -Lint/EnsureReturn: - Enabled: True - -Lint/HandleExceptions: - Enabled: True - -Lint/LiteralInCondition: - Enabled: True - -Lint/ShadowingOuterLocalVariable: - Enabled: True - -Lint/LiteralInInterpolation: - Enabled: True - -Style/HashSyntax: - Enabled: True - -Style/RedundantReturn: - Enabled: True - -Layout/EndOfLine: - Enabled: False - -Lint/AmbiguousOperator: - Enabled: True - -Lint/AssignmentInCondition: - Enabled: True - -Layout/SpaceBeforeComment: - Enabled: True - -Style/AndOr: - Enabled: True - -Style/RedundantSelf: - Enabled: True - -Metrics/BlockLength: - Enabled: False - -# Method length is not necessarily an indicator of code quality -Metrics/MethodLength: - Enabled: False - -# Module length is not necessarily an indicator of code quality -Metrics/ModuleLength: - Enabled: False - -Style/WhileUntilModifier: - Enabled: True - -Lint/AmbiguousRegexpLiteral: - Enabled: True - -Security/Eval: - Enabled: True - -Lint/BlockAlignment: - Enabled: True - -Lint/DefEndAlignment: - Enabled: True - -Lint/EndAlignment: - Enabled: True - -Lint/DeprecatedClassMethods: - Enabled: True - -Lint/Loop: - Enabled: True - -Lint/ParenthesesAsGroupedExpression: - Enabled: True - -Lint/RescueException: - Enabled: True - -Lint/StringConversionInInterpolation: - Enabled: True - -Lint/UnusedBlockArgument: - Enabled: True - -Lint/UnusedMethodArgument: - Enabled: True - -Lint/UselessAccessModifier: - Enabled: True - -Lint/UselessAssignment: - Enabled: True - -Lint/Void: - Enabled: True - -Layout/AccessModifierIndentation: - Enabled: True - -Style/AccessorMethodName: - Enabled: True - -Style/Alias: - Enabled: True - -Layout/AlignArray: - Enabled: True - -Layout/AlignHash: - Enabled: True - -Layout/AlignParameters: - Enabled: True - -Metrics/BlockNesting: - Enabled: True - -Style/AsciiComments: - Enabled: True - -Style/Attr: - Enabled: True - -Style/BracesAroundHashParameters: - Enabled: True - -Style/CaseEquality: - Enabled: True - -Layout/CaseIndentation: - Enabled: True - -Style/CharacterLiteral: - Enabled: True - -Style/ClassAndModuleCamelCase: - Enabled: True - -Style/ClassAndModuleChildren: - Enabled: False - -Style/ClassCheck: - Enabled: True - -# Class length is not necessarily an indicator of code quality -Metrics/ClassLength: - Enabled: False - -Style/ClassMethods: - Enabled: True - -Style/ClassVars: - Enabled: True - -Style/WhenThen: - Enabled: True - -Style/WordArray: - Enabled: True - -Style/UnneededPercentQ: - Enabled: True - -Layout/Tab: - Enabled: True - -Layout/SpaceBeforeSemicolon: - Enabled: True - -Layout/TrailingBlankLines: - Enabled: True - -Layout/SpaceInsideBlockBraces: - Enabled: True - -Layout/SpaceInsideBrackets: - Enabled: True - -Layout/SpaceInsideHashLiteralBraces: - Enabled: True - -Layout/SpaceInsideParens: - Enabled: True - -Layout/LeadingCommentSpace: - Enabled: True - -Layout/SpaceBeforeFirstArg: - Enabled: True - -Layout/SpaceAfterColon: - Enabled: True - -Layout/SpaceAfterComma: - Enabled: True - -Layout/SpaceAfterMethodName: - Enabled: True - -Layout/SpaceAfterNot: - Enabled: True - -Layout/SpaceAfterSemicolon: - Enabled: True - -Layout/SpaceAroundEqualsInParameterDefault: - Enabled: True - -Layout/SpaceAroundOperators: - Enabled: True - -Layout/SpaceBeforeBlockBraces: - Enabled: True - -Layout/SpaceBeforeComma: - Enabled: True - -Style/CollectionMethods: - Enabled: True - -Layout/CommentIndentation: - Enabled: True - -Style/ColonMethodCall: - Enabled: True - -Style/CommentAnnotation: - Enabled: True - -# 'Complexity' is very relative -Metrics/CyclomaticComplexity: - Enabled: False - -Style/ConstantName: - Enabled: True - -Style/Documentation: - Enabled: False - -Style/DefWithParentheses: - Enabled: True - -Style/PreferredHashMethods: - Enabled: True - -Layout/DotPosition: - EnforcedStyle: trailing - -Style/DoubleNegation: - Enabled: True - -Style/EachWithObject: - Enabled: True - -Layout/EmptyLineBetweenDefs: - Enabled: True - -Layout/IndentArray: - Enabled: True - -Layout/IndentHash: - Enabled: True - -Layout/IndentationConsistency: - Enabled: True - -Layout/IndentationWidth: - Enabled: True - -Layout/EmptyLines: - Enabled: True - -Layout/EmptyLinesAroundAccessModifier: - Enabled: True - -Style/EmptyLiteral: - Enabled: True - -# Configuration parameters: AllowURI, URISchemes. -Metrics/LineLength: - Enabled: False - -Style/MethodCallWithoutArgsParentheses: - Enabled: True - -Style/MethodDefParentheses: - Enabled: True - -Style/LineEndConcatenation: - Enabled: True - -Layout/TrailingWhitespace: - Enabled: True - -Style/StringLiterals: - Enabled: True - -Style/TrailingCommaInArguments: - Enabled: True - -Style/TrailingCommaInLiteral: - Enabled: True - -Style/GlobalVars: - Enabled: True - -Style/GuardClause: - Enabled: True - -Style/IfUnlessModifier: - Enabled: True - -Style/MultilineIfThen: - Enabled: True - -Style/NegatedIf: - Enabled: True - -Style/NegatedWhile: - Enabled: True - -Style/Next: - Enabled: True - -Style/SingleLineBlockParams: - Enabled: True - -Style/SingleLineMethods: - Enabled: True - -Style/SpecialGlobalVars: - Enabled: True - -Style/TrivialAccessors: - Enabled: True - -Style/UnlessElse: - Enabled: True - -Style/VariableInterpolation: - Enabled: True - -Style/VariableName: - Enabled: True - -Style/WhileUntilDo: - Enabled: True - -Style/EvenOdd: - Enabled: True - -Style/FileName: - Enabled: True - -Style/For: - Enabled: True - -Style/Lambda: - Enabled: True - -Style/MethodName: - Enabled: True - -Style/MultilineTernaryOperator: - Enabled: True - -Style/NestedTernaryOperator: - Enabled: True - -Style/NilComparison: - Enabled: True - -Style/FormatString: - Enabled: True - -Style/MultilineBlockChain: - Enabled: True - -Style/Semicolon: - Enabled: True - -Style/SignalException: - Enabled: True - -Style/NonNilCheck: - Enabled: True - -Style/Not: - Enabled: True - -Style/NumericLiterals: - Enabled: True - -Style/OneLineConditional: - Enabled: True - -Style/OpMethod: - Enabled: True - -Style/ParenthesesAroundCondition: - Enabled: True - -Style/PercentLiteralDelimiters: - Enabled: True - -Style/PerlBackrefs: - Enabled: True - -Style/PredicateName: - Enabled: True - -Style/RedundantException: - Enabled: True - -Style/SelfAssignment: - Enabled: True - -Style/Proc: - Enabled: True - -Style/RaiseArgs: - Enabled: True - -Style/RedundantBegin: - Enabled: True - -Style/RescueModifier: - Enabled: True - -# based on https://github.com/voxpupuli/modulesync_config/issues/168 -Style/RegexpLiteral: - EnforcedStyle: percent_r - Enabled: True - -Lint/UnderscorePrefixedVariableName: - Enabled: True - -Metrics/ParameterLists: - Enabled: False - -Lint/RequireParentheses: - Enabled: True - -Style/ModuleFunction: - Enabled: True - -Lint/Debugger: - Enabled: True - -Style/IfWithSemicolon: - Enabled: True - -Style/Encoding: - Enabled: True - -Style/BlockDelimiters: - Enabled: True - -Layout/MultilineBlockLayout: - Enabled: True - -# 'Complexity' is very relative -Metrics/AbcSize: - Enabled: False - -# 'Complexity' is very relative -Metrics/PerceivedComplexity: - Enabled: False - -Lint/UselessAssignment: - Enabled: True - -Layout/ClosingParenthesisIndentation: - Enabled: True - -# RSpec - -RSpec/BeforeAfterAll: - Exclude: - - spec/acceptance/**/* - -# We don't use rspec in this way -RSpec/DescribeClass: - Enabled: False - -# Example length is not necessarily an indicator of code quality -RSpec/ExampleLength: - Enabled: False - -RSpec/NamedSubject: - Enabled: False - -# disabled for now since they cause a lot of issues -# these issues aren't easy to fix -RSpec/RepeatedDescription: - Enabled: False - -RSpec/NestedGroups: - Enabled: False - -RSpec/MultipleExpectations: - Enabled: false - -# this is broken on ruby1.9 -Layout/IndentHeredoc: - Enabled: False - -# disable Yaml safe_load. This is needed to support ruby2.0.0 development envs -Security/YAMLLoad: - Enabled: false - -# This affects hiera interpolation, as well as some configs that we push. -Style/FormatStringToken: - Enabled: false - -# This is useful, but sometimes a little too picky about where unit tests files -# are located. -RSpec/FilePath: - Enabled: false +--- +inherit_gem: + voxpupuli-test: rubocop.yml diff --git a/.sync.yml b/.sync.yml index 015289a8a..4e8aee51d 100644 --- a/.sync.yml +++ b/.sync.yml @@ -1,8 +1,3 @@ -# the mongodb tests currently do not work on MongoDB 3.x or newer --- -.travis.yml: - secure: "TcZjuTP5ooDXZNRnG1M+wqmT/Lqcg8CwZfLljGlDSjDEN2siUhflHf9A81q5XL17oN4BkQtPmLvu7d/7xijUOiqDWXG9PC/Xr3QsTTmjtEo5l2Ne7jO+HrXO0Ron6LjEy47PeUWVQs7JcLRQL1SpxlNkt/Xe7oSoL10PmP2GYJc=" - docker_sets: - - set: centos7-64 appveyor.yml: delete: true diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 02342a2f4..000000000 --- a/.travis.yml +++ /dev/null @@ -1,56 +0,0 @@ ---- -os: linux -dist: bionic -language: ruby -cache: bundler -before_install: - - yes | gem update --system - - bundle --version -script: - - 'bundle exec rake $CHECK' -jobs: - fast_finish: true - include: - - rvm: 2.4.4 - bundler_args: --without system_tests development release - env: PUPPET_VERSION="~> 5.0" CHECK=test - - rvm: 2.5.3 - bundler_args: --without system_tests development release - env: PUPPET_VERSION="~> 6.0" CHECK=test_with_coveralls - - rvm: 2.5.3 - bundler_args: --without system_tests development release - env: PUPPET_VERSION="~> 6.0" CHECK=rubocop - - rvm: 2.4.4 - bundler_args: --without system_tests development release - env: PUPPET_VERSION="~> 5.0" CHECK=build DEPLOY_TO_FORGE=yes - - rvm: 2.5.3 - bundler_args: --without development release - env: BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_setfile=centos7-64 CHECK=beaker - services: docker - - rvm: 2.5.3 - bundler_args: --without development release - env: BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_setfile=centos7-64 CHECK=beaker - services: docker -branches: - only: - - master - - /^v\d/ -notifications: - email: false - webhooks: https://voxpupu.li/incoming/travis - irc: - on_success: always - on_failure: always - channels: - - "chat.freenode.org#voxpupuli-notifications" -deploy: - provider: puppetforge - username: puppet - password: - secure: "TcZjuTP5ooDXZNRnG1M+wqmT/Lqcg8CwZfLljGlDSjDEN2siUhflHf9A81q5XL17oN4BkQtPmLvu7d/7xijUOiqDWXG9PC/Xr3QsTTmjtEo5l2Ne7jO+HrXO0Ron6LjEy47PeUWVQs7JcLRQL1SpxlNkt/Xe7oSoL10PmP2GYJc=" - on: - tags: true - # all_branches is required to use tags - all_branches: true - # Only publish the build marked with "DEPLOY_TO_FORGE" - condition: "$DEPLOY_TO_FORGE = yes" diff --git a/Gemfile b/Gemfile index 8592cd61f..0d0a9fb27 100644 --- a/Gemfile +++ b/Gemfile @@ -1,30 +1,19 @@ source ENV['GEM_SOURCE'] || "https://rubygems.org" -def location_for(place, fake_version = nil) - if place =~ /^(git[:@][^#]*)#(.*)/ - [fake_version, { :git => $1, :branch => $2, :require => false }].compact - elsif place =~ /^file:\/\/(.*)/ - ['>= 0', { :path => File.expand_path($1), :require => false }] - else - [place, { :require => false }] - end -end - group :test do - gem 'voxpupuli-test', '~> 2.0', :require => false + gem 'voxpupuli-test', '~> 2.1', :require => false gem 'coveralls', :require => false gem 'simplecov-console', :require => false end group :development do - gem 'travis', :require => false - gem 'travis-lint', :require => false gem 'guard-rake', :require => false gem 'overcommit', '>= 0.39.1', :require => false end group :system_tests do - gem 'voxpupuli-acceptance', :require => false + gem 'puppet_metadata', '~> 0.3.0', :require => false + gem 'voxpupuli-acceptance', :require => false end group :release do @@ -34,15 +23,11 @@ group :release do gem 'puppet-strings', '>= 2.2', :require => false end +gem 'puppetlabs_spec_helper', '~> 2.0', :require => false +gem 'rake', :require => false +gem 'facter', ENV['FACTER_GEM_VERSION'], :require => false, :groups => [:test] - -if facterversion = ENV['FACTER_GEM_VERSION'] - gem 'facter', facterversion.to_s, :require => false, :groups => [:test] -else - gem 'facter', :require => false, :groups => [:test] -end - -ENV['PUPPET_VERSION'].nil? ? puppetversion = '~> 6.0' : puppetversion = ENV['PUPPET_VERSION'].to_s +puppetversion = ENV['PUPPET_VERSION'] || '~> 6.0' gem 'puppet', puppetversion, :require => false, :groups => [:test] # vim: syntax=ruby diff --git a/Rakefile b/Rakefile index b450fe7b0..d1bf74911 100644 --- a/Rakefile +++ b/Rakefile @@ -1,4 +1,10 @@ -require 'voxpupuli/test/rake' +# Attempt to load voxupuli-test (which pulls in puppetlabs_spec_helper), +# otherwise attempt to load it directly. +begin + require 'voxpupuli/test/rake' +rescue LoadError + require 'puppetlabs_spec_helper/rake_tasks' +end # load optional tasks for releases # only available if gem group releases is installed @@ -26,6 +32,7 @@ end begin require 'github_changelog_generator/task' + require 'puppet_blacksmith' GitHubChangelogGenerator::RakeTask.new :changelog do |config| version = (Blacksmith::Modulefile.new).version config.future_release = "v#{version}" if version =~ /^\d+\.\d+.\d+$/ diff --git a/spec/acceptance/nodesets/archlinux-2-x64.yml b/spec/acceptance/nodesets/archlinux-2-x64.yml deleted file mode 100644 index 89b63003f..000000000 --- a/spec/acceptance/nodesets/archlinux-2-x64.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -# This file is managed via modulesync -# https://github.com/voxpupuli/modulesync -# https://github.com/voxpupuli/modulesync_config -HOSTS: - archlinux-2-x64: - roles: - - master - platform: archlinux-2-x64 - box: archlinux/archlinux - hypervisor: vagrant -CONFIG: - type: foss diff --git a/spec/acceptance/nodesets/ec2/amazonlinux-2016091.yml b/spec/acceptance/nodesets/ec2/amazonlinux-2016091.yml deleted file mode 100644 index 19dd43ed7..000000000 --- a/spec/acceptance/nodesets/ec2/amazonlinux-2016091.yml +++ /dev/null @@ -1,31 +0,0 @@ ---- -# This file is managed via modulesync -# https://github.com/voxpupuli/modulesync -# https://github.com/voxpupuli/modulesync_config -# -# Additional ~/.fog config file with AWS EC2 credentials -# required. -# -# see: https://github.com/puppetlabs/beaker/blob/master/docs/how_to/hypervisors/ec2.md -# -# Amazon Linux is not a RHEL clone. -# -HOSTS: - amazonlinux-2016091-x64: - roles: - - master - platform: centos-6-x86_64 - hypervisor: ec2 - # refers to image_tempaltes.yaml AMI[vmname] entry: - vmname: amazonlinux-2016091-eu-central-1 - # refers to image_tempaltes.yaml entry inside AMI[vmname][:image]: - snapshot: aio - # t2.micro is free tier eligible (https://aws.amazon.com/en/free/): - amisize: t2.micro - # required so that beaker sanitizes sshd_config and root authorized_keys: - user: ec2-user -CONFIG: - type: aio - :ec2_yaml: spec/acceptance/nodesets/ec2/image_templates.yaml -... -# vim: syntax=yaml diff --git a/spec/acceptance/nodesets/ec2/image_templates.yaml b/spec/acceptance/nodesets/ec2/image_templates.yaml deleted file mode 100644 index e50593ee0..000000000 --- a/spec/acceptance/nodesets/ec2/image_templates.yaml +++ /dev/null @@ -1,34 +0,0 @@ -# This file is managed via modulesync -# https://github.com/voxpupuli/modulesync -# https://github.com/voxpupuli/modulesync_config -# -# see also: https://github.com/puppetlabs/beaker/blob/master/docs/how_to/hypervisors/ec2.md -# -# Hint: image IDs (ami-*) for the same image are different per location. -# -AMI: - # Amazon Linux AMI 2016.09.1 (HVM), SSD Volume Type - amazonlinux-2016091-eu-central-1: - :image: - :aio: ami-af0fc0c0 - :region: eu-central-1 - # Red Hat Enterprise Linux 7.3 (HVM), SSD Volume Type - rhel-73-eu-central-1: - :image: - :aio: ami-e4c63e8b - :region: eu-central-1 - # SUSE Linux Enterprise Server 12 SP2 (HVM), SSD Volume Type - sles-12sp2-eu-central-1: - :image: - :aio: ami-c425e4ab - :region: eu-central-1 - # Ubuntu Server 16.04 LTS (HVM), SSD Volume Type - ubuntu-1604-eu-central-1: - :image: - :aio: ami-fe408091 - :region: eu-central-1 - # Microsoft Windows Server 2016 Base - windows-2016-base-eu-central-1: - :image: - :aio: ami-88ec20e7 - :region: eu-central-1 diff --git a/spec/acceptance/nodesets/ec2/rhel-73-x64.yml b/spec/acceptance/nodesets/ec2/rhel-73-x64.yml deleted file mode 100644 index 7fac8236a..000000000 --- a/spec/acceptance/nodesets/ec2/rhel-73-x64.yml +++ /dev/null @@ -1,29 +0,0 @@ ---- -# This file is managed via modulesync -# https://github.com/voxpupuli/modulesync -# https://github.com/voxpupuli/modulesync_config -# -# Additional ~/.fog config file with AWS EC2 credentials -# required. -# -# see: https://github.com/puppetlabs/beaker/blob/master/docs/how_to/hypervisors/ec2.md -# -HOSTS: - rhel-73-x64: - roles: - - master - platform: el-7-x86_64 - hypervisor: ec2 - # refers to image_tempaltes.yaml AMI[vmname] entry: - vmname: rhel-73-eu-central-1 - # refers to image_tempaltes.yaml entry inside AMI[vmname][:image]: - snapshot: aio - # t2.micro is free tier eligible (https://aws.amazon.com/en/free/): - amisize: t2.micro - # required so that beaker sanitizes sshd_config and root authorized_keys: - user: ec2-user -CONFIG: - type: aio - :ec2_yaml: spec/acceptance/nodesets/ec2/image_templates.yaml -... -# vim: syntax=yaml diff --git a/spec/acceptance/nodesets/ec2/sles-12sp2-x64.yml b/spec/acceptance/nodesets/ec2/sles-12sp2-x64.yml deleted file mode 100644 index 8542154df..000000000 --- a/spec/acceptance/nodesets/ec2/sles-12sp2-x64.yml +++ /dev/null @@ -1,29 +0,0 @@ ---- -# This file is managed via modulesync -# https://github.com/voxpupuli/modulesync -# https://github.com/voxpupuli/modulesync_config -# -# Additional ~/.fog config file with AWS EC2 credentials -# required. -# -# see: https://github.com/puppetlabs/beaker/blob/master/docs/how_to/hypervisors/ec2.md -# -HOSTS: - sles-12sp2-x64: - roles: - - master - platform: sles-12-x86_64 - hypervisor: ec2 - # refers to image_tempaltes.yaml AMI[vmname] entry: - vmname: sles-12sp2-eu-central-1 - # refers to image_tempaltes.yaml entry inside AMI[vmname][:image]: - snapshot: aio - # t2.micro is free tier eligible (https://aws.amazon.com/en/free/): - amisize: t2.micro - # required so that beaker sanitizes sshd_config and root authorized_keys: - user: ec2-user -CONFIG: - type: aio - :ec2_yaml: spec/acceptance/nodesets/ec2/image_templates.yaml -... -# vim: syntax=yaml diff --git a/spec/acceptance/nodesets/ec2/ubuntu-1604-x64.yml b/spec/acceptance/nodesets/ec2/ubuntu-1604-x64.yml deleted file mode 100644 index 9cf59d59e..000000000 --- a/spec/acceptance/nodesets/ec2/ubuntu-1604-x64.yml +++ /dev/null @@ -1,29 +0,0 @@ ---- -# This file is managed via modulesync -# https://github.com/voxpupuli/modulesync -# https://github.com/voxpupuli/modulesync_config -# -# Additional ~/.fog config file with AWS EC2 credentials -# required. -# -# see: https://github.com/puppetlabs/beaker/blob/master/docs/how_to/hypervisors/ec2.md -# -HOSTS: - ubuntu-1604-x64: - roles: - - master - platform: ubuntu-16.04-amd64 - hypervisor: ec2 - # refers to image_tempaltes.yaml AMI[vmname] entry: - vmname: ubuntu-1604-eu-central-1 - # refers to image_tempaltes.yaml entry inside AMI[vmname][:image]: - snapshot: aio - # t2.micro is free tier eligible (https://aws.amazon.com/en/free/): - amisize: t2.micro - # required so that beaker sanitizes sshd_config and root authorized_keys: - user: ubuntu -CONFIG: - type: aio - :ec2_yaml: spec/acceptance/nodesets/ec2/image_templates.yaml -... -# vim: syntax=yaml diff --git a/spec/acceptance/nodesets/ec2/windows-2016-base-x64.yml b/spec/acceptance/nodesets/ec2/windows-2016-base-x64.yml deleted file mode 100644 index 0932e29c8..000000000 --- a/spec/acceptance/nodesets/ec2/windows-2016-base-x64.yml +++ /dev/null @@ -1,29 +0,0 @@ ---- -# This file is managed via modulesync -# https://github.com/voxpupuli/modulesync -# https://github.com/voxpupuli/modulesync_config -# -# Additional ~/.fog config file with AWS EC2 credentials -# required. -# -# see: https://github.com/puppetlabs/beaker/blob/master/docs/how_to/hypervisors/ec2.md -# -HOSTS: - windows-2016-base-x64: - roles: - - master - platform: windows-2016-64 - hypervisor: ec2 - # refers to image_tempaltes.yaml AMI[vmname] entry: - vmname: windows-2016-base-eu-central-1 - # refers to image_tempaltes.yaml entry inside AMI[vmname][:image]: - snapshot: aio - # t2.micro is free tier eligible (https://aws.amazon.com/en/free/): - amisize: t2.micro - # required so that beaker sanitizes sshd_config and root authorized_keys: - user: ec2-user -CONFIG: - type: aio - :ec2_yaml: spec/acceptance/nodesets/ec2/image_templates.yaml -... -# vim: syntax=yaml diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index b2b270451..d266f6b47 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -9,7 +9,7 @@ require 'voxpupuli/test/spec_helper' if File.exist?(File.join(__dir__, 'default_module_facts.yml')) - facts = YAML.load(File.read(File.join(__dir__, 'default_module_facts.yml'))) + facts = YAML.safe_load(File.read(File.join(__dir__, 'default_module_facts.yml'))) if facts facts.each do |name, value| add_custom_fact name.to_sym, value From 860736f79dd268e8345457653d86034ed9235142 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Fri, 12 Feb 2021 23:56:50 +0100 Subject: [PATCH 02/64] debug centos --- manifests/params.pp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/manifests/params.pp b/manifests/params.pp index e9074af35..d6569df48 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -44,13 +44,13 @@ $user = pick($mongodb::globals::user, 'mongod') $group = pick($mongodb::globals::group, 'mongod') $server_package_name = pick($mongodb::globals::server_package_name, "mongodb-${mongodb::globals::edition}-server") - } else { + } #else { # RedHat/CentOS doesn't come with a prepacked mongodb # so we assume that you are using EPEL repository. - $user = pick($mongodb::globals::user, 'mongodb') - $group = pick($mongodb::globals::group, 'mongodb') - $server_package_name = pick($mongodb::globals::server_package_name, 'mongodb-server') - } + #$user = pick($mongodb::globals::user, 'mongodb') + #$group = pick($mongodb::globals::group, 'mongodb') + #$server_package_name = pick($mongodb::globals::server_package_name, 'mongodb-server') + #} $service_name = pick($mongodb::globals::service_name, 'mongod') $logpath = '/var/log/mongodb/mongod.log' From 2882c247c43dc3297683dfbb3a84d3ae2240b9d9 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Sat, 13 Feb 2021 19:01:26 +0100 Subject: [PATCH 03/64] debug --- manifests/params.pp | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/manifests/params.pp b/manifests/params.pp index d6569df48..73f342548 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -44,13 +44,7 @@ $user = pick($mongodb::globals::user, 'mongod') $group = pick($mongodb::globals::group, 'mongod') $server_package_name = pick($mongodb::globals::server_package_name, "mongodb-${mongodb::globals::edition}-server") - } #else { - # RedHat/CentOS doesn't come with a prepacked mongodb - # so we assume that you are using EPEL repository. - #$user = pick($mongodb::globals::user, 'mongodb') - #$group = pick($mongodb::globals::group, 'mongodb') - #$server_package_name = pick($mongodb::globals::server_package_name, 'mongodb-server') - #} + } $service_name = pick($mongodb::globals::service_name, 'mongod') $logpath = '/var/log/mongodb/mongod.log' From 8bf07d2bfeef1f15bb731d008b3cdf246b080d94 Mon Sep 17 00:00:00 2001 From: "hugo.deprez" Date: Thu, 18 Feb 2021 11:49:51 +0100 Subject: [PATCH 04/64] set needed variable --- manifests/params.pp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/manifests/params.pp b/manifests/params.pp index 73f342548..0c8d1e20a 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -46,6 +46,9 @@ $server_package_name = pick($mongodb::globals::server_package_name, "mongodb-${mongodb::globals::edition}-server") } + $user = pick($mongodb::globals::user, 'mongod') + $group = pick($mongodb::globals::group, 'mongod') + $server_package_name = pick($mongodb::globals::server_package_name, "mongodb-${mongodb::globals::edition}-server") $service_name = pick($mongodb::globals::service_name, 'mongod') $logpath = '/var/log/mongodb/mongod.log' $pidfilepath = '/var/run/mongodb/mongod.pid' From 2e4c2dd7af14f143ec14419244ffaca972f75828 Mon Sep 17 00:00:00 2001 From: "hugo.deprez" Date: Thu, 18 Feb 2021 11:58:59 +0100 Subject: [PATCH 05/64] debug variables --- manifests/params.pp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/manifests/params.pp b/manifests/params.pp index 0c8d1e20a..7dc0de27b 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -40,15 +40,10 @@ # Amazon Linux's OS Family is 'Linux', operating system 'Amazon'. case $facts['os']['family'] { 'RedHat', 'Linux', 'Suse': { - if $manage_package { $user = pick($mongodb::globals::user, 'mongod') $group = pick($mongodb::globals::group, 'mongod') $server_package_name = pick($mongodb::globals::server_package_name, "mongodb-${mongodb::globals::edition}-server") - } - $user = pick($mongodb::globals::user, 'mongod') - $group = pick($mongodb::globals::group, 'mongod') - $server_package_name = pick($mongodb::globals::server_package_name, "mongodb-${mongodb::globals::edition}-server") $service_name = pick($mongodb::globals::service_name, 'mongod') $logpath = '/var/log/mongodb/mongod.log' $pidfilepath = '/var/run/mongodb/mongod.pid' From b38d1228a709270f9615b8da0feaa77fd8ff410c Mon Sep 17 00:00:00 2001 From: "hugo.deprez" Date: Thu, 18 Feb 2021 12:09:35 +0100 Subject: [PATCH 06/64] fix indent --- manifests/params.pp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manifests/params.pp b/manifests/params.pp index 7dc0de27b..67c9f244e 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -40,9 +40,9 @@ # Amazon Linux's OS Family is 'Linux', operating system 'Amazon'. case $facts['os']['family'] { 'RedHat', 'Linux', 'Suse': { - $user = pick($mongodb::globals::user, 'mongod') - $group = pick($mongodb::globals::group, 'mongod') - $server_package_name = pick($mongodb::globals::server_package_name, "mongodb-${mongodb::globals::edition}-server") + $user = pick($mongodb::globals::user, 'mongod') + $group = pick($mongodb::globals::group, 'mongod') + $server_package_name = pick($mongodb::globals::server_package_name, "mongodb-${mongodb::globals::edition}-server") $service_name = pick($mongodb::globals::service_name, 'mongod') $logpath = '/var/log/mongodb/mongod.log' From 36b6bc086bea8b10cf875ed312d45835facd4e08 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Mon, 1 Mar 2021 22:51:40 +0100 Subject: [PATCH 07/64] debug rhel --- manifests/globals.pp | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/manifests/globals.pp b/manifests/globals.pp index 8d6ded9fa..cb7c45418 100644 --- a/manifests/globals.pp +++ b/manifests/globals.pp @@ -38,17 +38,30 @@ } # Setup of the repo only makes sense globally, so we are doing it here. - if $manage_package_repo { - if $use_enterprise_repo == true and $version == undef { - fail('You must set mongodb::globals::version when mongodb::globals::use_enterprise_repo is true') + case $facts['os']['family'] { + 'RedHat', 'Linux', 'Suse': { + class { 'mongodb::repo': + ensure => present, + version => $version, + use_enterprise_repo => $use_enterprise_repo, + repo_location => $repo_location, + proxy => $repo_proxy, + } } + default: { + if $manage_package_repo { + if $use_enterprise_repo == true and $version == undef { + fail('You must set mongodb::globals::version when mongodb::globals::use_enterprise_repo is true') + } - class { 'mongodb::repo': - ensure => present, - version => $version, - use_enterprise_repo => $use_enterprise_repo, - repo_location => $repo_location, - proxy => $repo_proxy, + class { 'mongodb::repo': + ensure => present, + version => $version, + use_enterprise_repo => $use_enterprise_repo, + repo_location => $repo_location, + proxy => $repo_proxy, + } + } } - } + } } From 3f25e90b09d481bcfee84b58f98f07c083f590ef Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Mon, 1 Mar 2021 22:52:20 +0100 Subject: [PATCH 08/64] debug rhel --- manifests/globals.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/globals.pp b/manifests/globals.pp index cb7c45418..af2fe9079 100644 --- a/manifests/globals.pp +++ b/manifests/globals.pp @@ -63,5 +63,5 @@ } } } - } + } } From c4c872d56daddd11b2c52585a999120ea999b12f Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Mon, 1 Mar 2021 22:56:52 +0100 Subject: [PATCH 09/64] fix style --- manifests/globals.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/globals.pp b/manifests/globals.pp index af2fe9079..f20c6e0e2 100644 --- a/manifests/globals.pp +++ b/manifests/globals.pp @@ -51,7 +51,7 @@ default: { if $manage_package_repo { if $use_enterprise_repo == true and $version == undef { - fail('You must set mongodb::globals::version when mongodb::globals::use_enterprise_repo is true') + fail('You must set mongodb::globals::version when mongodb::globals::use_enterprise_repo is true') } class { 'mongodb::repo': From 7b32e456a7bf1dc04e2741ccf2cc233db929406e Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Mon, 1 Mar 2021 23:03:36 +0100 Subject: [PATCH 10/64] debug --- manifests/globals.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/globals.pp b/manifests/globals.pp index f20c6e0e2..976a06167 100644 --- a/manifests/globals.pp +++ b/manifests/globals.pp @@ -42,7 +42,7 @@ 'RedHat', 'Linux', 'Suse': { class { 'mongodb::repo': ensure => present, - version => $version, + version => $pick($version, '3.6'), use_enterprise_repo => $use_enterprise_repo, repo_location => $repo_location, proxy => $repo_proxy, From a699d3642fd63375d962ab08129ae46c36ac12bf Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Mon, 1 Mar 2021 23:06:37 +0100 Subject: [PATCH 11/64] fix pick --- manifests/globals.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/globals.pp b/manifests/globals.pp index 976a06167..d6ebf9f2b 100644 --- a/manifests/globals.pp +++ b/manifests/globals.pp @@ -42,7 +42,7 @@ 'RedHat', 'Linux', 'Suse': { class { 'mongodb::repo': ensure => present, - version => $pick($version, '3.6'), + version => pick($version, '3.6'), use_enterprise_repo => $use_enterprise_repo, repo_location => $repo_location, proxy => $repo_proxy, From d951a26a984ef0962c816c642128a984b9acc26f Mon Sep 17 00:00:00 2001 From: "hugo.deprez" Date: Tue, 2 Mar 2021 12:15:00 +0100 Subject: [PATCH 12/64] fix pidfile issue --- .sync.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.sync.yml b/.sync.yml index 4e8aee51d..450b889c9 100644 --- a/.sync.yml +++ b/.sync.yml @@ -1,3 +1,5 @@ --- appveyor.yml: delete: true +.github/workflows/ci.yml: + pidfile_workaround: CentOS \ No newline at end of file From 7cb04d8438553488eee8e45371cc3e1ef2f53405 Mon Sep 17 00:00:00 2001 From: "hugo.deprez" Date: Tue, 2 Mar 2021 13:11:29 +0100 Subject: [PATCH 13/64] pidfile-workaround --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b4f47e87d..1ea40adc4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,7 +23,7 @@ jobs: run: bundle exec rake validate - name: Setup Test Matrix id: get-outputs - run: bundle exec metadata2gha --use-fqdn --pidfile-workaround false + run: bundle exec metadata2gha --use-fqdn --pidfile-workaround CentOS unit: needs: setup_matrix From 7e800f4069c48f3f95915ff7bd646e69cb95921a Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Tue, 2 Mar 2021 20:20:34 +0100 Subject: [PATCH 14/64] fix rspec for centos package name --- spec/classes/server_spec.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/spec/classes/server_spec.rb b/spec/classes/server_spec.rb index 90a5d9d70..9f67044b4 100644 --- a/spec/classes/server_spec.rb +++ b/spec/classes/server_spec.rb @@ -37,7 +37,11 @@ describe 'with defaults' do it_behaves_like 'server classes' - it { is_expected.to contain_package('mongodb_server').with_ensure('present').with_name('mongodb-server').with_tag('mongodb_package') } + if facts[:os]['name'] == 'Centos' + it { is_expected.to contain_package('mongodb_server').with_ensure('present').with_name('mongodb-org-server').with_tag('mongodb_package') } + else + it { is_expected.to contain_package('mongodb_server').with_ensure('present').with_name('mongodb-server').with_tag('mongodb_package') } + end it do is_expected.to contain_file(config_file). From 7fdd79dbe838cf463c4f1ce8f403b740c7c3490b Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Tue, 2 Mar 2021 20:48:59 +0100 Subject: [PATCH 15/64] fix client class --- manifests/client/params.pp | 1 + 1 file changed, 1 insertion(+) diff --git a/manifests/client/params.pp b/manifests/client/params.pp index 2ce3024bd..bbc4d07ea 100644 --- a/manifests/client/params.pp +++ b/manifests/client/params.pp @@ -8,6 +8,7 @@ } else { $package_name = $facts['os']['family'] ? { 'Debian' => 'mongodb-clients', + 'Redhat' => "mongodb-${mongodb::globals::edition}-shell", default => 'mongodb', } } From f70d3dc197c98ff9a233a1335ffa9f502fa4a7e5 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Tue, 2 Mar 2021 20:57:20 +0100 Subject: [PATCH 16/64] fix rspec --- spec/classes/server_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/classes/server_spec.rb b/spec/classes/server_spec.rb index 9f67044b4..095cf90f6 100644 --- a/spec/classes/server_spec.rb +++ b/spec/classes/server_spec.rb @@ -37,7 +37,7 @@ describe 'with defaults' do it_behaves_like 'server classes' - if facts[:os]['name'] == 'Centos' + if facts[:os]['family'] == 'RedHat' it { is_expected.to contain_package('mongodb_server').with_ensure('present').with_name('mongodb-org-server').with_tag('mongodb_package') } else it { is_expected.to contain_package('mongodb_server').with_ensure('present').with_name('mongodb-server').with_tag('mongodb_package') } From cee602aa38637ed1e0a9ccc5311ef4fabc9ee3ce Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Tue, 2 Mar 2021 22:08:30 +0100 Subject: [PATCH 17/64] fix mongos package --- manifests/mongos/params.pp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/manifests/mongos/params.pp b/manifests/mongos/params.pp index 546977229..0cc6fb32b 100644 --- a/manifests/mongos/params.pp +++ b/manifests/mongos/params.pp @@ -7,8 +7,10 @@ $package_ensure = pick($version, 'present') if $manage_package { $package_name = "mongodb-${mongodb::globals::edition}-mongos" + } elsif $facts['os']['family'] == 'RedHat' { + $package_name = "mongodb-${mongodb::globals::edition}-mongos" } else { - $package_name = 'mongodb-server' + $package_name = 'mongodb-server' } $config_content = undef From 6fbff9735a595c264e9ff3d196ad50283012c9a1 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Tue, 2 Mar 2021 22:48:49 +0100 Subject: [PATCH 18/64] manage mongos service --- manifests/mongos/params.pp | 1 + manifests/mongos/service.pp | 8 +++++ metadata.json | 4 +++ .../mongos/RedHat/mongos.service-dropin.epp | 36 +++++++++++++++++++ 4 files changed, 49 insertions(+) create mode 100644 templates/mongos/RedHat/mongos.service-dropin.epp diff --git a/manifests/mongos/params.pp b/manifests/mongos/params.pp index 0cc6fb32b..79ebe8500 100644 --- a/manifests/mongos/params.pp +++ b/manifests/mongos/params.pp @@ -45,6 +45,7 @@ $unixsocketprefix = '/var/run/mongodb' $logpath = '/var/log/mongodb/mongos.log' $fork = true + $service_template = 'mongodb/mongos.service-dropin.epp' } } 'Debian': { diff --git a/manifests/mongos/service.pp b/manifests/mongos/service.pp index 36ecaca17..1f3d52e8b 100644 --- a/manifests/mongos/service.pp +++ b/manifests/mongos/service.pp @@ -9,6 +9,7 @@ $service_provider = $mongodb::mongos::service_provider, $bind_ip = $mongodb::mongos::bind_ip, $port = $mongodb::mongos::port, + $service_template = $mongodb::mongos::service_template, ) { if $package_ensure in ['absent', 'purged'] { $real_service_ensure = 'stopped' @@ -24,6 +25,13 @@ $connect_ip = $bind_ip } + if $facts['os']['name'] == 'RedHat' { + systemd::dropin_file { 'mongos': + unit => 'mongos.service', + content => epp($template_mongos_service_dropin), + } ~> Class['systemd::systemctl::daemon_reload'] ~> Service['snmpd'] + } + if $service_manage { service { 'mongos': ensure => $real_service_ensure, diff --git a/metadata.json b/metadata.json index 726ce368f..49d8a7dcc 100644 --- a/metadata.json +++ b/metadata.json @@ -48,6 +48,10 @@ { "name": "puppetlabs/stdlib", "version_requirement": ">= 4.25.0 < 7.0.0" + }, + { + "name": "camptocamp/systemd", + "version_requirement": ">= 2.5.1 < 3.0.0" } ] } diff --git a/templates/mongos/RedHat/mongos.service-dropin.epp b/templates/mongos/RedHat/mongos.service-dropin.epp new file mode 100644 index 000000000..e2ab5a826 --- /dev/null +++ b/templates/mongos/RedHat/mongos.service-dropin.epp @@ -0,0 +1,36 @@ +[Unit] +Description=MongoDB Database Server +Documentation=https://docs.mongodb.org/manual +After=network.target + +[Service] +User=mongos +Group=mongos +Environment="OPTIONS=-f /etc/mongos.conf" +ExecStart=/usr/bin/mongod $OPTIONS +ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb +ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb +ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb +PermissionsStartOnly=true +PIDFile=/var/run/mongodb/mongos.pid +Type=forking +# file size +LimitFSIZE=infinity +# cpu time +LimitCPU=infinity +# virtual memory size +LimitAS=infinity +# open files +LimitNOFILE=64000 +# processes/threads +LimitNPROC=64000 +# locked memory +LimitMEMLOCK=infinity +# total threads (user+kernel) +TasksMax=infinity +TasksAccounting=false +# Recommended limits for for mongod as specified in +# http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings + +[Install] +WantedBy=multi-user.target From 2f255634939153f40014026406b0ef8013eaf2eb Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Tue, 2 Mar 2021 22:57:28 +0100 Subject: [PATCH 19/64] fix if statement --- manifests/mongos/service.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/mongos/service.pp b/manifests/mongos/service.pp index 1f3d52e8b..619c2790c 100644 --- a/manifests/mongos/service.pp +++ b/manifests/mongos/service.pp @@ -25,7 +25,7 @@ $connect_ip = $bind_ip } - if $facts['os']['name'] == 'RedHat' { + if $facts['os']['family'] == 'RedHat' { systemd::dropin_file { 'mongos': unit => 'mongos.service', content => epp($template_mongos_service_dropin), From c01257e172b3d2304fb25b352ee230295b3e7867 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Tue, 2 Mar 2021 22:59:58 +0100 Subject: [PATCH 20/64] fix variable name --- manifests/mongos/service.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/mongos/service.pp b/manifests/mongos/service.pp index 619c2790c..7fa6a2df1 100644 --- a/manifests/mongos/service.pp +++ b/manifests/mongos/service.pp @@ -28,7 +28,7 @@ if $facts['os']['family'] == 'RedHat' { systemd::dropin_file { 'mongos': unit => 'mongos.service', - content => epp($template_mongos_service_dropin), + content => epp($service_template), } ~> Class['systemd::systemctl::daemon_reload'] ~> Service['snmpd'] } From bb91459f9d3636101fe90a93fa1c2c8ec6ec1599 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Tue, 2 Mar 2021 23:02:36 +0100 Subject: [PATCH 21/64] fix template path --- manifests/mongos/params.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/mongos/params.pp b/manifests/mongos/params.pp index 79ebe8500..b2bdf1af6 100644 --- a/manifests/mongos/params.pp +++ b/manifests/mongos/params.pp @@ -45,7 +45,7 @@ $unixsocketprefix = '/var/run/mongodb' $logpath = '/var/log/mongodb/mongos.log' $fork = true - $service_template = 'mongodb/mongos.service-dropin.epp' + $service_template = 'mongodb/mongos/RedHat/mongos.service-dropin.epp' } } 'Debian': { From bf48a37f25265f21805ffe3d134bf6b4cc4b6f17 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Tue, 2 Mar 2021 23:04:10 +0100 Subject: [PATCH 22/64] fix systemd mongos service --- manifests/mongos/service.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/mongos/service.pp b/manifests/mongos/service.pp index 7fa6a2df1..b50a55114 100644 --- a/manifests/mongos/service.pp +++ b/manifests/mongos/service.pp @@ -26,7 +26,7 @@ } if $facts['os']['family'] == 'RedHat' { - systemd::dropin_file { 'mongos': + systemd::dropin_file { 'mongos.conf': unit => 'mongos.service', content => epp($service_template), } ~> Class['systemd::systemctl::daemon_reload'] ~> Service['snmpd'] From 85d1bbf144809b89a1400c8241a9883e87bfb777 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Tue, 2 Mar 2021 23:04:59 +0100 Subject: [PATCH 23/64] fix systemd mongos --- manifests/mongos/service.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/mongos/service.pp b/manifests/mongos/service.pp index b50a55114..e3cde0bfc 100644 --- a/manifests/mongos/service.pp +++ b/manifests/mongos/service.pp @@ -29,7 +29,7 @@ systemd::dropin_file { 'mongos.conf': unit => 'mongos.service', content => epp($service_template), - } ~> Class['systemd::systemctl::daemon_reload'] ~> Service['snmpd'] + } ~> Class['systemd::systemctl::daemon_reload'] ~> Service['mongos'] } if $service_manage { From 3a6a4ec61012c880e2034e98663c19a58a1696a3 Mon Sep 17 00:00:00 2001 From: "hugo.deprez" Date: Wed, 3 Mar 2021 11:16:05 +0100 Subject: [PATCH 24/64] fix mongos systemd --- manifests/mongos/service.pp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/manifests/mongos/service.pp b/manifests/mongos/service.pp index e3cde0bfc..7753ed76f 100644 --- a/manifests/mongos/service.pp +++ b/manifests/mongos/service.pp @@ -26,8 +26,7 @@ } if $facts['os']['family'] == 'RedHat' { - systemd::dropin_file { 'mongos.conf': - unit => 'mongos.service', + systemd::unit_file { 'mongos.service': content => epp($service_template), } ~> Class['systemd::systemctl::daemon_reload'] ~> Service['mongos'] } From a3cd8bad7150b8bb69be1c410b627c998a7e8d66 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Fri, 5 Mar 2021 09:27:35 +0100 Subject: [PATCH 25/64] fix systemd init script --- templates/mongos/RedHat/mongos.service-dropin.epp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/templates/mongos/RedHat/mongos.service-dropin.epp b/templates/mongos/RedHat/mongos.service-dropin.epp index e2ab5a826..7c90b2236 100644 --- a/templates/mongos/RedHat/mongos.service-dropin.epp +++ b/templates/mongos/RedHat/mongos.service-dropin.epp @@ -4,10 +4,11 @@ Documentation=https://docs.mongodb.org/manual After=network.target [Service] -User=mongos -Group=mongos +User=mongod +Group=mongod Environment="OPTIONS=-f /etc/mongos.conf" -ExecStart=/usr/bin/mongod $OPTIONS +TimeoutStartSec=400 +ExecStart=/usr/bin/mongos $OPTIONS ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb From 3d5aab4cb0467c5b1df705dbf18fc89745dd5f45 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Fri, 5 Mar 2021 09:30:29 +0100 Subject: [PATCH 26/64] fix style --- manifests/mongos/params.pp | 2 +- manifests/mongos/service.pp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/mongos/params.pp b/manifests/mongos/params.pp index b2bdf1af6..a01171316 100644 --- a/manifests/mongos/params.pp +++ b/manifests/mongos/params.pp @@ -10,7 +10,7 @@ } elsif $facts['os']['family'] == 'RedHat' { $package_name = "mongodb-${mongodb::globals::edition}-mongos" } else { - $package_name = 'mongodb-server' + $package_name = 'mongodb-server' } $config_content = undef diff --git a/manifests/mongos/service.pp b/manifests/mongos/service.pp index 7753ed76f..1570cbab1 100644 --- a/manifests/mongos/service.pp +++ b/manifests/mongos/service.pp @@ -26,7 +26,7 @@ } if $facts['os']['family'] == 'RedHat' { - systemd::unit_file { 'mongos.service': + systemd::unit_file { 'mongos.service': content => epp($service_template), } ~> Class['systemd::systemctl::daemon_reload'] ~> Service['mongos'] } From 7af6a8edd56052154a6ad9836a1e275fc2984017 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Fri, 5 Mar 2021 09:51:29 +0100 Subject: [PATCH 27/64] set replset name into configdb variable --- manifests/mongos/params.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/mongos/params.pp b/manifests/mongos/params.pp index a01171316..53a244f28 100644 --- a/manifests/mongos/params.pp +++ b/manifests/mongos/params.pp @@ -17,7 +17,7 @@ $config_template = undef $config_data = undef - $configdb = '127.0.0.1:27019' + $configdb = "${mongodb::server::replset}/127.0.0.1:27019" $bind_ip = undef $port = undef $restart = true From 1e5c3fb3ffdfc93c66242645cc20bf4be372a13b Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Fri, 5 Mar 2021 09:52:05 +0100 Subject: [PATCH 28/64] set replset to test --- manifests/server.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/server.pp b/manifests/server.pp index 9e0ec7d49..31dc35f9e 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -50,7 +50,7 @@ $mms_token = undef, $mms_name = undef, $mms_interval = undef, - Optional[String] $replset = undef, + Optional[String] $replset = "test", Optional[Hash] $replset_config = undef, Optional[Array] $replset_members = undef, Optional[Boolean] $configsvr = undef, From ebec35d88c06ed46c9eddd61df76504690756cec Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Fri, 5 Mar 2021 10:06:49 +0100 Subject: [PATCH 29/64] fix rspec for mongos need a replicasetname --- manifests/server.pp | 2 +- spec/acceptance/mongos_spec.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/server.pp b/manifests/server.pp index 31dc35f9e..553b78bc9 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -50,7 +50,7 @@ $mms_token = undef, $mms_name = undef, $mms_interval = undef, - Optional[String] $replset = "test", + Optional[String] $replset = 'test', Optional[Hash] $replset_config = undef, Optional[Array] $replset_members = undef, Optional[Boolean] $configsvr = undef, diff --git a/spec/acceptance/mongos_spec.rb b/spec/acceptance/mongos_spec.rb index 321241d35..ee75330f1 100644 --- a/spec/acceptance/mongos_spec.rb +++ b/spec/acceptance/mongos_spec.rb @@ -15,7 +15,7 @@ class { 'mongodb::server': } -> class { 'mongodb::client': } -> class { 'mongodb::mongos': - configdb => ['127.0.0.1:27019'], + configdb => ['test/127.0.0.1:27019'], } EOS From e9b81855cde881884d451a14aa6015ef66732c56 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Fri, 5 Mar 2021 10:11:25 +0100 Subject: [PATCH 30/64] fix mongos config --- manifests/mongos/params.pp | 2 +- manifests/server.pp | 2 +- spec/acceptance/mongos_spec.rb | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/manifests/mongos/params.pp b/manifests/mongos/params.pp index 53a244f28..a01171316 100644 --- a/manifests/mongos/params.pp +++ b/manifests/mongos/params.pp @@ -17,7 +17,7 @@ $config_template = undef $config_data = undef - $configdb = "${mongodb::server::replset}/127.0.0.1:27019" + $configdb = '127.0.0.1:27019' $bind_ip = undef $port = undef $restart = true diff --git a/manifests/server.pp b/manifests/server.pp index 553b78bc9..9e0ec7d49 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -50,7 +50,7 @@ $mms_token = undef, $mms_name = undef, $mms_interval = undef, - Optional[String] $replset = 'test', + Optional[String] $replset = undef, Optional[Hash] $replset_config = undef, Optional[Array] $replset_members = undef, Optional[Boolean] $configsvr = undef, diff --git a/spec/acceptance/mongos_spec.rb b/spec/acceptance/mongos_spec.rb index ee75330f1..048622e74 100644 --- a/spec/acceptance/mongos_spec.rb +++ b/spec/acceptance/mongos_spec.rb @@ -12,6 +12,8 @@ pp = <<-EOS class { 'mongodb::server': configsvr => true, + replset => 'test', + } -> class { 'mongodb::client': } -> class { 'mongodb::mongos': From d968e35e1c51cda1333db0467813103972d5eb13 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Fri, 5 Mar 2021 10:24:32 +0100 Subject: [PATCH 31/64] reduce timeout systemd --- templates/mongos/RedHat/mongos.service-dropin.epp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/mongos/RedHat/mongos.service-dropin.epp b/templates/mongos/RedHat/mongos.service-dropin.epp index 7c90b2236..ad2abaaa6 100644 --- a/templates/mongos/RedHat/mongos.service-dropin.epp +++ b/templates/mongos/RedHat/mongos.service-dropin.epp @@ -7,7 +7,7 @@ After=network.target User=mongod Group=mongod Environment="OPTIONS=-f /etc/mongos.conf" -TimeoutStartSec=400 +TimeoutStartSec=100 ExecStart=/usr/bin/mongos $OPTIONS ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb From 9912ec069078be44a5f04fc1141e9356549ba7c6 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Fri, 5 Mar 2021 10:37:55 +0100 Subject: [PATCH 32/64] revert timeout settings --- templates/mongos/RedHat/mongos.service-dropin.epp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/mongos/RedHat/mongos.service-dropin.epp b/templates/mongos/RedHat/mongos.service-dropin.epp index ad2abaaa6..7c90b2236 100644 --- a/templates/mongos/RedHat/mongos.service-dropin.epp +++ b/templates/mongos/RedHat/mongos.service-dropin.epp @@ -7,7 +7,7 @@ After=network.target User=mongod Group=mongod Environment="OPTIONS=-f /etc/mongos.conf" -TimeoutStartSec=100 +TimeoutStartSec=400 ExecStart=/usr/bin/mongos $OPTIONS ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb From f4e0f7bac9aa5902c26e0057bcb7e560f8374236 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Fri, 26 Mar 2021 09:58:10 +0100 Subject: [PATCH 33/64] remove rspec for mongos --- spec/acceptance/mongos_spec.rb | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/spec/acceptance/mongos_spec.rb b/spec/acceptance/mongos_spec.rb index 048622e74..e1f38968b 100644 --- a/spec/acceptance/mongos_spec.rb +++ b/spec/acceptance/mongos_spec.rb @@ -8,22 +8,6 @@ end describe 'installation' do - it 'works with no errors' do - pp = <<-EOS - class { 'mongodb::server': - configsvr => true, - replset => 'test', - - } - -> class { 'mongodb::client': } - -> class { 'mongodb::mongos': - configdb => ['test/127.0.0.1:27019'], - } - EOS - - apply_manifest(pp, catch_failures: true) - apply_manifest(pp, catch_changes: true) - end describe package('mongodb-server') do it { is_expected.to be_installed } From 79ef938fbf3e6d59a82a9a5482afa853e6faf591 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Fri, 26 Mar 2021 10:29:49 +0100 Subject: [PATCH 34/64] removemongos rspec for debug --- spec/acceptance/mongos_spec.rb | 75 ---------------------------------- 1 file changed, 75 deletions(-) delete mode 100644 spec/acceptance/mongos_spec.rb diff --git a/spec/acceptance/mongos_spec.rb b/spec/acceptance/mongos_spec.rb deleted file mode 100644 index e1f38968b..000000000 --- a/spec/acceptance/mongos_spec.rb +++ /dev/null @@ -1,75 +0,0 @@ -require 'spec_helper_acceptance' - -describe 'mongodb::mongos class' do - config_file = if fact('osfamily') == 'RedHat' - '/etc/mongos.conf' - else - '/etc/mongodb-shard.conf' - end - - describe 'installation' do - - describe package('mongodb-server') do - it { is_expected.to be_installed } - end - - describe file(config_file) do - it { is_expected.to be_file } - end - - describe service('mongos') do - it { is_expected.to be_enabled } - it { is_expected.to be_running } - end - - describe port(27_017) do - it { is_expected.to be_listening } - end - - describe port(27_019) do - it { is_expected.to be_listening } - end - - describe command('mongo --version') do - its(:exit_status) { is_expected.to eq 0 } - end - end - - describe 'uninstalling' do - it 'uninstalls mongodb' do - pp = <<-EOS - class { 'mongodb::server': - ensure => absent, - package_ensure => absent, - service_ensure => stopped, - service_enable => false - } - -> class { 'mongodb::client': - ensure => absent, - } - -> class { 'mongodb::mongos': - package_ensure => 'purged', - } - EOS - apply_manifest(pp, catch_failures: true) - apply_manifest(pp, catch_changes: true) - end - - describe package('mongodb-server') do - it { is_expected.not_to be_installed } - end - - describe service('mongos') do - it { is_expected.not_to be_enabled } - it { is_expected.not_to be_running } - end - - describe port(27_017) do - it { is_expected.not_to be_listening } - end - - describe port(27_019) do - it { is_expected.not_to be_listening } - end - end -end From 468ccb548411ce8774c53bb4a2e4b934028ebcaa Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Fri, 26 Mar 2021 15:00:54 +0100 Subject: [PATCH 35/64] fix package name for redhat --- spec/acceptance/server_spec.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/spec/acceptance/server_spec.rb b/spec/acceptance/server_spec.rb index 6548a6620..8d9d9e1ee 100644 --- a/spec/acceptance/server_spec.rb +++ b/spec/acceptance/server_spec.rb @@ -5,9 +5,11 @@ when 'Debian' config_file = '/etc/mongodb.conf' service_name = 'mongodb' + package_name = 'mongodb-server' else config_file = '/etc/mongod.conf' service_name = 'mongod' + package_name = 'mongodb-org-server' end describe 'installation' do @@ -21,7 +23,7 @@ class { 'mongodb::server': } apply_manifest(pp, catch_changes: true) end - describe package('mongodb-server') do + describe package(package_name) do it { is_expected.to be_installed } end @@ -56,7 +58,7 @@ class { 'mongodb::server': apply_manifest(pp, catch_changes: true) end - describe package('mongodb-server') do + describe package(package_name) do it { is_expected.to be_installed } end @@ -149,7 +151,7 @@ class { 'mongodb::server': apply_manifest(pp, catch_changes: true) end - describe package('mongodb-server') do + describe package(package_name) do it { is_expected.not_to be_installed } end From e747ecf1755313f6f7f01e5251a0d30aba062642 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Fri, 26 Mar 2021 15:14:02 +0100 Subject: [PATCH 36/64] fix rspec for rhel --- spec/acceptance/server_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/acceptance/server_spec.rb b/spec/acceptance/server_spec.rb index 8d9d9e1ee..449329e49 100644 --- a/spec/acceptance/server_spec.rb +++ b/spec/acceptance/server_spec.rb @@ -97,7 +97,7 @@ class { 'mongodb::client': } apply_manifest(pp, catch_changes: true) end - describe package('mongodb-server') do + describe package(package_name) do it { is_expected.to be_installed } end From 55cbaf8384de3ec2c0e6b2d2d1feba3b9b874889 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Fri, 26 Mar 2021 15:40:26 +0100 Subject: [PATCH 37/64] revert mongos rspec --- spec/acceptance/mongos_spec.rb | 89 ++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 spec/acceptance/mongos_spec.rb diff --git a/spec/acceptance/mongos_spec.rb b/spec/acceptance/mongos_spec.rb new file mode 100644 index 000000000..f5181ff6b --- /dev/null +++ b/spec/acceptance/mongos_spec.rb @@ -0,0 +1,89 @@ +require 'spec_helper_acceptance' + +describe 'mongodb::mongos class' do + config_file = if fact('osfamily') == 'RedHat' + '/etc/mongos.conf' + else + '/etc/mongodb-shard.conf' + end + + describe 'installation' do + it 'works with no errors' do + pp = <<-EOS + class { 'mongodb::server': + configsvr => true, + } + -> class { 'mongodb::client': } + -> class { 'mongodb::mongos': + configdb => ['127.0.0.1:27019'], + } + EOS + + apply_manifest(pp, catch_failures: true) + apply_manifest(pp, catch_changes: true) + end + + describe package('mongodb-server') do + it { is_expected.to be_installed } + end + + describe file(config_file) do + it { is_expected.to be_file } + end + + describe service('mongos') do + it { is_expected.to be_enabled } + it { is_expected.to be_running } + end + + describe port(27_017) do + it { is_expected.to be_listening } + end + + describe port(27_019) do + it { is_expected.to be_listening } + end + + describe command('mongo --version') do + its(:exit_status) { is_expected.to eq 0 } + end + end + + describe 'uninstalling' do + it 'uninstalls mongodb' do + pp = <<-EOS + class { 'mongodb::server': + ensure => absent, + package_ensure => absent, + service_ensure => stopped, + service_enable => false + } + -> class { 'mongodb::client': + ensure => absent, + } + -> class { 'mongodb::mongos': + package_ensure => 'purged', + } + EOS + apply_manifest(pp, catch_failures: true) + apply_manifest(pp, catch_changes: true) + end + + describe package('mongodb-server') do + it { is_expected.not_to be_installed } + end + + describe service('mongos') do + it { is_expected.not_to be_enabled } + it { is_expected.not_to be_running } + end + + describe port(27_017) do + it { is_expected.not_to be_listening } + end + + describe port(27_019) do + it { is_expected.not_to be_listening } + end + end +end \ No newline at end of file From fe69f29c7fcad350357522c8ea798a8a7995d483 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Fri, 26 Mar 2021 15:49:54 +0100 Subject: [PATCH 38/64] fix rspec for mongos --- spec/acceptance/mongos_spec.rb | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/spec/acceptance/mongos_spec.rb b/spec/acceptance/mongos_spec.rb index f5181ff6b..a5428a6e1 100644 --- a/spec/acceptance/mongos_spec.rb +++ b/spec/acceptance/mongos_spec.rb @@ -1,11 +1,15 @@ require 'spec_helper_acceptance' describe 'mongodb::mongos class' do - config_file = if fact('osfamily') == 'RedHat' - '/etc/mongos.conf' - else - '/etc/mongodb-shard.conf' - end + + case fact('osfamily') + when 'Debian' + package_name = 'mongodb-server' + config_file = '/etc/mongodb-shard.conf' + else + package_name = 'mongodb-org-server' + config_file = '/etc/mongos.conf' + end describe 'installation' do it 'works with no errors' do @@ -23,7 +27,7 @@ class { 'mongodb::server': apply_manifest(pp, catch_changes: true) end - describe package('mongodb-server') do + describe package(package_name) do it { is_expected.to be_installed } end @@ -69,7 +73,7 @@ class { 'mongodb::server': apply_manifest(pp, catch_changes: true) end - describe package('mongodb-server') do + describe package(package_name) do it { is_expected.not_to be_installed } end From a0db30f039d673fc8d588490b1d4dfd5d9bb2d6f Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Fri, 26 Mar 2021 16:03:40 +0100 Subject: [PATCH 39/64] fix rspec --- spec/acceptance/mongos_spec.rb | 2 +- spec/classes/mongos_spec.rb | 17 +++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/spec/acceptance/mongos_spec.rb b/spec/acceptance/mongos_spec.rb index a5428a6e1..a081a10d8 100644 --- a/spec/acceptance/mongos_spec.rb +++ b/spec/acceptance/mongos_spec.rb @@ -8,7 +8,7 @@ config_file = '/etc/mongodb-shard.conf' else package_name = 'mongodb-org-server' - config_file = '/etc/mongos.conf' + config_file = '/etc/mongos.conf' end describe 'installation' do diff --git a/spec/classes/mongos_spec.rb b/spec/classes/mongos_spec.rb index 98472f82c..866c57d9e 100644 --- a/spec/classes/mongos_spec.rb +++ b/spec/classes/mongos_spec.rb @@ -5,20 +5,21 @@ context "on #{os}" do let(:facts) { facts } - let(:config_file) do - if facts[:osfamily] == 'RedHat' - '/etc/mongos.conf' - else - '/etc/mongodb-shard.conf' - end - end + case fact('osfamily') + when 'Debian' + package_name = 'mongodb-server' + config_file = '/etc/mongodb-shard.conf' + else + package_name = 'mongodb-org-mongos' + config_file = '/etc/mongos.conf' + end context 'with defaults' do it { is_expected.to compile.with_all_deps } # install it { is_expected.to contain_class('mongodb::mongos::install') } - it { is_expected.to contain_package('mongodb_mongos').with_ensure('present').with_name('mongodb-server').with_tag('mongodb_package') } + it { is_expected.to contain_package('mongodb_mongos').with_ensure('present').with_name(package_name).with_tag('mongodb_package') } # config it { is_expected.to contain_class('mongodb::mongos::config') } From 47f003119fc8a35beec68fa7bac63ce9c6ccca36 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Fri, 26 Mar 2021 16:34:29 +0100 Subject: [PATCH 40/64] modify fact --- spec/classes/mongos_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/classes/mongos_spec.rb b/spec/classes/mongos_spec.rb index 866c57d9e..5e5f01db2 100644 --- a/spec/classes/mongos_spec.rb +++ b/spec/classes/mongos_spec.rb @@ -5,7 +5,7 @@ context "on #{os}" do let(:facts) { facts } - case fact('osfamily') + case facts[:os]['family'] when 'Debian' package_name = 'mongodb-server' config_file = '/etc/mongodb-shard.conf' From 373b0354fdae9cbfe1c046e3247c8b6142920e61 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Fri, 26 Mar 2021 16:40:03 +0100 Subject: [PATCH 41/64] add missing service_template variable --- manifests/mongos.pp | 1 + 1 file changed, 1 insertion(+) diff --git a/manifests/mongos.pp b/manifests/mongos.pp index 4b10fc27b..071d234a3 100644 --- a/manifests/mongos.pp +++ b/manifests/mongos.pp @@ -8,6 +8,7 @@ Boolean $service_manage = $mongodb::mongos::params::service_manage, Optional[String] $service_provider = $mongodb::mongos::params::service_provider, Optional[String] $service_name = $mongodb::mongos::params::service_name, + Optional[String] $service_template = $mongodb::mongos::params::service_template, Boolean $service_enable = $mongodb::mongos::params::service_enable, Stdlib::Ensure::Service $service_ensure = $mongodb::mongos::params::service_ensure, Optional[String] $service_status = $mongodb::mongos::params::service_status, From 06f70f36ac82b59d03652403cab039494a59aa44 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Fri, 26 Mar 2021 16:43:55 +0100 Subject: [PATCH 42/64] fix service_template variable --- manifests/mongos/params.pp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/manifests/mongos/params.pp b/manifests/mongos/params.pp index a01171316..ba6da3f27 100644 --- a/manifests/mongos/params.pp +++ b/manifests/mongos/params.pp @@ -37,6 +37,7 @@ $unixsocketprefix = undef $logpath = undef $fork = undef + $service_template = undef } else { # RedHat/CentOS doesn't come with a prepacked mongodb # so we assume that you are using EPEL repository. @@ -54,6 +55,7 @@ $unixsocketprefix = undef $logpath = undef $fork = undef + $service_template = undef } default: { fail("Osfamily ${facts['os']['family']} is not supported") From aea71fba65d74714449869080d9b2d5ad3ef3fb3 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Fri, 26 Mar 2021 16:49:35 +0100 Subject: [PATCH 43/64] update fixtures --- .fixtures.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.fixtures.yml b/.fixtures.yml index 3dd77beb8..6edd161f1 100644 --- a/.fixtures.yml +++ b/.fixtures.yml @@ -2,6 +2,7 @@ fixtures: repositories: "stdlib": "git://github.com/puppetlabs/puppetlabs-stdlib.git" "apt": "git://github.com/puppetlabs/puppetlabs-apt.git" + "systemd": "https://github.com/camptocamp/puppet-systemd.git" yumrepo_core: repo: https://github.com/puppetlabs/puppetlabs-yumrepo_core.git puppet_version: ">= 6.0.0" From 2fdc641fec6056bda21ecb012e4c844f8ec5c301 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Fri, 26 Mar 2021 16:52:26 +0100 Subject: [PATCH 44/64] update fixtures --- .fixtures.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.fixtures.yml b/.fixtures.yml index 6edd161f1..1463ea5bb 100644 --- a/.fixtures.yml +++ b/.fixtures.yml @@ -2,7 +2,7 @@ fixtures: repositories: "stdlib": "git://github.com/puppetlabs/puppetlabs-stdlib.git" "apt": "git://github.com/puppetlabs/puppetlabs-apt.git" - "systemd": "https://github.com/camptocamp/puppet-systemd.git" + "systemd": "git://github.com/camptocamp/puppet-systemd.git" yumrepo_core: repo: https://github.com/puppetlabs/puppetlabs-yumrepo_core.git puppet_version: ">= 6.0.0" From 33aba63cd7dd48b271fb20beb4146ab415059ae9 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Mon, 5 Apr 2021 10:51:56 +0200 Subject: [PATCH 45/64] debug systemd --- manifests/mongos/service.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/mongos/service.pp b/manifests/mongos/service.pp index 1570cbab1..da1cbe7f4 100644 --- a/manifests/mongos/service.pp +++ b/manifests/mongos/service.pp @@ -28,7 +28,7 @@ if $facts['os']['family'] == 'RedHat' { systemd::unit_file { 'mongos.service': content => epp($service_template), - } ~> Class['systemd::systemctl::daemon_reload'] ~> Service['mongos'] + } ~> Service['mongos'] } if $service_manage { From d177e2dc3952aa2d8289c86717a027b4b30adbb3 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Mon, 5 Apr 2021 19:33:43 +0200 Subject: [PATCH 46/64] debug service --- manifests/mongos/service.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/mongos/service.pp b/manifests/mongos/service.pp index da1cbe7f4..3cce72f52 100644 --- a/manifests/mongos/service.pp +++ b/manifests/mongos/service.pp @@ -28,7 +28,7 @@ if $facts['os']['family'] == 'RedHat' { systemd::unit_file { 'mongos.service': content => epp($service_template), - } ~> Service['mongos'] + } ~> service['mongos'] } if $service_manage { From aa31476d93794178f7ef6cecf1bc24187982feab Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Mon, 5 Apr 2021 19:38:30 +0200 Subject: [PATCH 47/64] debug --- manifests/mongos/service.pp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/manifests/mongos/service.pp b/manifests/mongos/service.pp index 3cce72f52..501d729fb 100644 --- a/manifests/mongos/service.pp +++ b/manifests/mongos/service.pp @@ -25,13 +25,13 @@ $connect_ip = $bind_ip } - if $facts['os']['family'] == 'RedHat' { - systemd::unit_file { 'mongos.service': - content => epp($service_template), - } ~> service['mongos'] - } - if $service_manage { + if $facts['os']['family'] == 'RedHat' { + systemd::unit_file { 'mongos.service': + content => epp($service_template), + } ~> Service['mongos'] + } + service { 'mongos': ensure => $real_service_ensure, name => $service_name, From 7dbb50d2ed0b56f07dfd17fa3c9c68594cec426c Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Mon, 5 Apr 2021 20:02:05 +0200 Subject: [PATCH 48/64] Try to fix service enabled for mongos --- manifests/mongos/service.pp | 1 + 1 file changed, 1 insertion(+) diff --git a/manifests/mongos/service.pp b/manifests/mongos/service.pp index 501d729fb..ddef7c6ae 100644 --- a/manifests/mongos/service.pp +++ b/manifests/mongos/service.pp @@ -29,6 +29,7 @@ if $facts['os']['family'] == 'RedHat' { systemd::unit_file { 'mongos.service': content => epp($service_template), + enable => $real_service_enable, } ~> Service['mongos'] } From 4a5c0a6f304cf5a0bc61b8d1bf40e1a7c95890de Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Mon, 5 Apr 2021 21:31:19 +0200 Subject: [PATCH 49/64] fix style --- manifests/mongos/service.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/mongos/service.pp b/manifests/mongos/service.pp index ddef7c6ae..20ce5583d 100644 --- a/manifests/mongos/service.pp +++ b/manifests/mongos/service.pp @@ -29,7 +29,7 @@ if $facts['os']['family'] == 'RedHat' { systemd::unit_file { 'mongos.service': content => epp($service_template), - enable => $real_service_enable, + enable => $real_service_enable, } ~> Service['mongos'] } From 49dcb13f2e4a35ec640d13aedccc438c1c7876b7 Mon Sep 17 00:00:00 2001 From: Hugo Deprez Date: Mon, 5 Apr 2021 21:31:33 +0200 Subject: [PATCH 50/64] fix style --- manifests/mongos/service.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/mongos/service.pp b/manifests/mongos/service.pp index 20ce5583d..3dc2c13e7 100644 --- a/manifests/mongos/service.pp +++ b/manifests/mongos/service.pp @@ -29,7 +29,7 @@ if $facts['os']['family'] == 'RedHat' { systemd::unit_file { 'mongos.service': content => epp($service_template), - enable => $real_service_enable, + enable => $real_service_enable, } ~> Service['mongos'] } From 7ff18a9ad0d9f5ada1f19db9dd8fd7603748f5ce Mon Sep 17 00:00:00 2001 From: Evgeny Soynov Date: Thu, 24 Jun 2021 17:45:06 +0200 Subject: [PATCH 51/64] Fixed acceptance tests for mongos --- spec/acceptance/mongos_spec.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/spec/acceptance/mongos_spec.rb b/spec/acceptance/mongos_spec.rb index a081a10d8..66b9cd98b 100644 --- a/spec/acceptance/mongos_spec.rb +++ b/spec/acceptance/mongos_spec.rb @@ -16,10 +16,13 @@ pp = <<-EOS class { 'mongodb::server': configsvr => true, + replset => 'test', + replset_members => ['127.0.0.1:27019'], + port => 27019, } -> class { 'mongodb::client': } -> class { 'mongodb::mongos': - configdb => ['127.0.0.1:27019'], + configdb => ['test/127.0.0.1:27019'], } EOS From 48b3758dd35783d04c548d2b4eb84becab9e0f00 Mon Sep 17 00:00:00 2001 From: Evgeny Soynov Date: Tue, 3 Aug 2021 11:12:06 +0200 Subject: [PATCH 52/64] Fixed db_ismaster check to work with unauthorized user --- lib/puppet/provider/mongodb.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/puppet/provider/mongodb.rb b/lib/puppet/provider/mongodb.rb index 56919be77..48093217a 100644 --- a/lib/puppet/provider/mongodb.rb +++ b/lib/puppet/provider/mongodb.rb @@ -111,7 +111,7 @@ def self.db_ismaster cmd_ismaster = 'db.isMaster().ismaster' cmd_ismaster = mongorc_file + cmd_ismaster if mongorc_file db = 'admin' - res = mongo_cmd(db, conn_string, cmd_ismaster).to_s.chomp + res = mongo_cmd(db, conn_string, cmd_ismaster).to_s.split(%r{\n}).last.chomp res.eql?('true') end From b3f0e6655725b113538b31b1b15fdf15bd97918c Mon Sep 17 00:00:00 2001 From: Evgeny Soynov Date: Tue, 3 Aug 2021 11:14:01 +0200 Subject: [PATCH 53/64] Added hack to return empty user list from admin until admin is created --- lib/puppet/provider/mongodb_user/mongodb.rb | 10 +++++++++- spec/acceptance/server_spec.rb | 15 +++++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/lib/puppet/provider/mongodb_user/mongodb.rb b/lib/puppet/provider/mongodb_user/mongodb.rb index 0b424e2cd..9cd24a5a0 100644 --- a/lib/puppet/provider/mongodb_user/mongodb.rb +++ b/lib/puppet/provider/mongodb_user/mongodb.rb @@ -8,7 +8,15 @@ def self.instances require 'json' if db_ismaster - users = JSON.parse mongo_eval('printjson(db.system.users.find().toArray())') + script = 'printjson(db.system.users.find().toArray())' + # A hack to prevent prefetching failures until admin user is created + script = "try {#{script}} catch (e) { if (e.message.match(/not authorized on admin/)) { 'not authorized on admin' } else {throw e}}" if auth_enabled + + out = mongo_eval(script) + + return [] if auth_enabled && out.include?('not authorized on admin') + + users = JSON.parse out users.map do |user| new(name: user['_id'], diff --git a/spec/acceptance/server_spec.rb b/spec/acceptance/server_spec.rb index 449329e49..8d5be0bf9 100644 --- a/spec/acceptance/server_spec.rb +++ b/spec/acceptance/server_spec.rb @@ -85,12 +85,23 @@ class { 'mongodb::server': pp = <<-EOS class { 'mongodb::server': auth => true, - create_admin => true, + create_admin => false, + handle_creds => true, store_creds => true, admin_username => 'admin', - admin_password => 'password' + admin_password => 'password', + restart => true, + set_parameter => ['enableLocalhostAuthBypass: true'] } class { 'mongodb::client': } + + mongodb_user { "User admin on db admin": + ensure => present, + password_hash => mongodb_password('admin', 'password'), + username => 'admin', + database => 'admin', + roles => ['dbAdmin', 'userAdminAnyDatabase'], + } EOS apply_manifest(pp, catch_failures: true) From 709579de212f8c2a774a864938cde767a02b5272 Mon Sep 17 00:00:00 2001 From: Evgeny Soynov Date: Tue, 3 Aug 2021 11:14:26 +0200 Subject: [PATCH 54/64] Fixed styling with rubocop --- spec/acceptance/mongos_spec.rb | 5 ++--- spec/classes/mongos_spec.rb | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/spec/acceptance/mongos_spec.rb b/spec/acceptance/mongos_spec.rb index 66b9cd98b..f4bbbe39d 100644 --- a/spec/acceptance/mongos_spec.rb +++ b/spec/acceptance/mongos_spec.rb @@ -1,12 +1,11 @@ require 'spec_helper_acceptance' describe 'mongodb::mongos class' do - case fact('osfamily') when 'Debian' package_name = 'mongodb-server' config_file = '/etc/mongodb-shard.conf' - else + else package_name = 'mongodb-org-server' config_file = '/etc/mongos.conf' end @@ -93,4 +92,4 @@ class { 'mongodb::server': it { is_expected.not_to be_listening } end end -end \ No newline at end of file +end diff --git a/spec/classes/mongos_spec.rb b/spec/classes/mongos_spec.rb index 5e5f01db2..e4ccba354 100644 --- a/spec/classes/mongos_spec.rb +++ b/spec/classes/mongos_spec.rb @@ -9,10 +9,10 @@ when 'Debian' package_name = 'mongodb-server' config_file = '/etc/mongodb-shard.conf' - else + else package_name = 'mongodb-org-mongos' config_file = '/etc/mongos.conf' - end + end context 'with defaults' do it { is_expected.to compile.with_all_deps } From 4736ee064e61fbba73eac18d25705b4caed162c9 Mon Sep 17 00:00:00 2001 From: Evgeny Soynov Date: Tue, 3 Aug 2021 14:21:28 +0200 Subject: [PATCH 55/64] Fixed mongos dangling on debian after uninstall --- manifests/server/install.pp | 10 ++++++---- spec/acceptance/mongos_spec.rb | 8 ++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/manifests/server/install.pp b/manifests/server/install.pp index df801d923..b40502ada 100644 --- a/manifests/server/install.pp +++ b/manifests/server/install.pp @@ -26,9 +26,11 @@ } } - package { 'mongodb_server': - ensure => $my_package_ensure, - name => $package_name, - tag => 'mongodb_package', + unless defined(Package[$package_name]) { + package { 'mongodb_server': + ensure => $my_package_ensure, + name => $package_name, + tag => 'mongodb_package', + } } } diff --git a/spec/acceptance/mongos_spec.rb b/spec/acceptance/mongos_spec.rb index f4bbbe39d..45d6d6b7a 100644 --- a/spec/acceptance/mongos_spec.rb +++ b/spec/acceptance/mongos_spec.rb @@ -58,7 +58,10 @@ class { 'mongodb::server': describe 'uninstalling' do it 'uninstalls mongodb' do pp = <<-EOS - class { 'mongodb::server': + class { 'mongodb::mongos': + package_ensure => 'purged', + } + -> class { 'mongodb::server': ensure => absent, package_ensure => absent, service_ensure => stopped, @@ -67,9 +70,6 @@ class { 'mongodb::server': -> class { 'mongodb::client': ensure => absent, } - -> class { 'mongodb::mongos': - package_ensure => 'purged', - } EOS apply_manifest(pp, catch_failures: true) apply_manifest(pp, catch_changes: true) From c8f689df783dea5e2fb82c73f2742e2326ac8ec9 Mon Sep 17 00:00:00 2001 From: romgo Date: Wed, 18 Aug 2021 09:42:02 +0200 Subject: [PATCH 56/64] Update .fixtures.yml Co-authored-by: Christos Papageorgiou --- .fixtures.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.fixtures.yml b/.fixtures.yml index 1463ea5bb..f6b9ffe91 100644 --- a/.fixtures.yml +++ b/.fixtures.yml @@ -2,7 +2,7 @@ fixtures: repositories: "stdlib": "git://github.com/puppetlabs/puppetlabs-stdlib.git" "apt": "git://github.com/puppetlabs/puppetlabs-apt.git" - "systemd": "git://github.com/camptocamp/puppet-systemd.git" + "systemd": "https://github.com/voxpupuli/puppet-systemd.git" yumrepo_core: repo: https://github.com/puppetlabs/puppetlabs-yumrepo_core.git puppet_version: ">= 6.0.0" From b3ac32d6bfbaf647d63ee161b080e667fd7af8bb Mon Sep 17 00:00:00 2001 From: romgo Date: Wed, 18 Aug 2021 09:42:16 +0200 Subject: [PATCH 57/64] Update .github/workflows/ci.yml Co-authored-by: Christos Papageorgiou --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1ea40adc4..d4702a6a3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,7 +23,7 @@ jobs: run: bundle exec rake validate - name: Setup Test Matrix id: get-outputs - run: bundle exec metadata2gha --use-fqdn --pidfile-workaround CentOS + run: bundle exec metadata2gha --use-fqdn --pidfile-workaround CentOS,Ubuntu unit: needs: setup_matrix From bbae78e69e3bcc077a31cfe8c007dc6199193aab Mon Sep 17 00:00:00 2001 From: romgo Date: Wed, 18 Aug 2021 09:42:41 +0200 Subject: [PATCH 58/64] Update .sync.yml Co-authored-by: Christos Papageorgiou --- .sync.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.sync.yml b/.sync.yml index 450b889c9..8d4c9309e 100644 --- a/.sync.yml +++ b/.sync.yml @@ -2,4 +2,4 @@ appveyor.yml: delete: true .github/workflows/ci.yml: - pidfile_workaround: CentOS \ No newline at end of file + pidfile_workaround: CentOS,Ubuntu \ No newline at end of file From b60424826a9fc20eb32e17ccb35f2800c4bf230a Mon Sep 17 00:00:00 2001 From: romgo Date: Wed, 18 Aug 2021 09:43:51 +0200 Subject: [PATCH 59/64] Update metadata.json Co-authored-by: Christos Papageorgiou --- metadata.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/metadata.json b/metadata.json index 49d8a7dcc..adb83bbb5 100644 --- a/metadata.json +++ b/metadata.json @@ -50,8 +50,8 @@ "version_requirement": ">= 4.25.0 < 7.0.0" }, { - "name": "camptocamp/systemd", - "version_requirement": ">= 2.5.1 < 3.0.0" + "name": "puppet/systemd", + "version_requirement": ">= 2.5.1 < 4.0.0" } ] } From c20928f9bba474d2dea4dcb58d20bb754559446a Mon Sep 17 00:00:00 2001 From: romgo Date: Wed, 18 Aug 2021 09:44:07 +0200 Subject: [PATCH 60/64] Update manifests/mongos.pp Co-authored-by: Christos Papageorgiou --- manifests/mongos.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/mongos.pp b/manifests/mongos.pp index 071d234a3..c4833563e 100644 --- a/manifests/mongos.pp +++ b/manifests/mongos.pp @@ -8,7 +8,7 @@ Boolean $service_manage = $mongodb::mongos::params::service_manage, Optional[String] $service_provider = $mongodb::mongos::params::service_provider, Optional[String] $service_name = $mongodb::mongos::params::service_name, - Optional[String] $service_template = $mongodb::mongos::params::service_template, + Optional[String[1]] $service_template = $mongodb::mongos::params::service_template, Boolean $service_enable = $mongodb::mongos::params::service_enable, Stdlib::Ensure::Service $service_ensure = $mongodb::mongos::params::service_ensure, Optional[String] $service_status = $mongodb::mongos::params::service_status, From 9e1fc8d66bd456f2ec034cc02e5f4fd501138801 Mon Sep 17 00:00:00 2001 From: Christos Papageorgiou Date: Wed, 18 Aug 2021 11:55:53 +0300 Subject: [PATCH 61/64] Drop Ubuntu 16/Add Ubuntu 20 support Signed-off-by: Christos Papageorgiou --- metadata.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/metadata.json b/metadata.json index adb83bbb5..05edea5aa 100644 --- a/metadata.json +++ b/metadata.json @@ -29,8 +29,8 @@ { "operatingsystem": "Ubuntu", "operatingsystemrelease": [ - "16.04", - "18.04" + "18.04", + "20.04" ] } ], From 171bff700d2d01aa74d5c4094f3436ef5171e4a6 Mon Sep 17 00:00:00 2001 From: Christos Papageorgiou Date: Wed, 18 Aug 2021 11:54:55 +0300 Subject: [PATCH 62/64] Drop Puppet 5/Add puppet 7 support Signed-off-by: Christos Papageorgiou --- metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/metadata.json b/metadata.json index 05edea5aa..7c3cdcf2f 100644 --- a/metadata.json +++ b/metadata.json @@ -37,7 +37,7 @@ "requirements": [ { "name": "puppet", - "version_requirement": ">= 5.5.8 < 7.0.0" + "version_requirement": ">= 6.1.0 < 8.0.0" } ], "dependencies": [ From f4ae5c89248a52be67e256a698443499e9e9f75f Mon Sep 17 00:00:00 2001 From: Hugo Date: Wed, 18 Aug 2021 17:48:40 +0200 Subject: [PATCH 63/64] add puppet header --- templates/mongos/RedHat/mongos.service-dropin.epp | 1 + 1 file changed, 1 insertion(+) diff --git a/templates/mongos/RedHat/mongos.service-dropin.epp b/templates/mongos/RedHat/mongos.service-dropin.epp index 7c90b2236..a0f3d1b56 100644 --- a/templates/mongos/RedHat/mongos.service-dropin.epp +++ b/templates/mongos/RedHat/mongos.service-dropin.epp @@ -1,3 +1,4 @@ +# THIS FILE IS MANAGED BY PUPPET [Unit] Description=MongoDB Database Server Documentation=https://docs.mongodb.org/manual From 16775ff1dae88f9fe41358f8c4dd032c60dcfd83 Mon Sep 17 00:00:00 2001 From: Hugo Date: Thu, 19 Aug 2021 19:25:10 +0200 Subject: [PATCH 64/64] fix indent --- manifests/mongos.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/mongos.pp b/manifests/mongos.pp index c4833563e..f73a634ca 100644 --- a/manifests/mongos.pp +++ b/manifests/mongos.pp @@ -8,7 +8,7 @@ Boolean $service_manage = $mongodb::mongos::params::service_manage, Optional[String] $service_provider = $mongodb::mongos::params::service_provider, Optional[String] $service_name = $mongodb::mongos::params::service_name, - Optional[String[1]] $service_template = $mongodb::mongos::params::service_template, + Optional[String[1]] $service_template = $mongodb::mongos::params::service_template, Boolean $service_enable = $mongodb::mongos::params::service_enable, Stdlib::Ensure::Service $service_ensure = $mongodb::mongos::params::service_ensure, Optional[String] $service_status = $mongodb::mongos::params::service_status,