From 799ad803f30e308025f1fcf68616d18e6f9ff8a4 Mon Sep 17 00:00:00 2001 From: Matthew Alexander LaChance Date: Fri, 11 Dec 2020 12:57:49 -0500 Subject: [PATCH] AEIM-3241 - Upgrade to puppet 6 and update dependencies Also added a github actions CI workflow as an alternative to Travis. Had to remove ec2tagfacts from the fixtures file due to a strange bug where github's servers kept showing sh errors like this: nebula::role::mgetit_log on debian-9-x86_64 sh: 30: Syntax error: Unterminated quoted string sh: 30: Syntax error: Unterminated quoted string sh: 30: Syntax error: Unterminated quoted string sh: 30: Syntax error: Unterminated quoted string sh: 30: Syntax error: Unterminated quoted string sh: 30: Syntax error: Unterminated quoted string is expected to compile using default hieradata This would happen for each individual test, and each error would take a few seconds, so the entire suite would time out every time. This happened using docker compose, vanilla docker, and just with github's ruby action, and I never managed to replicate it on my own workstation, so we remain completely ignorant as to why this happened. But removing ec2tagfacts from the fixtures file fixed it without breaking any tests, so away it goes. --- .fixtures.yml | 62 +++++++----- .github/workflows/ci.yml | 17 ++++ Dockerfile | 25 +++-- Gemfile | 2 +- Gemfile.lock | 107 +++++++++++++-------- docker-compose.test.yml | 12 +++ docker-compose.yml | 12 --- manifests/profile/apt.pp | 5 +- manifests/profile/deb_signing.pp | 2 +- manifests/profile/exim4.pp | 3 +- manifests/profile/ruby.pp | 4 +- manifests/profile/tools_lib/jdk.pp | 4 +- manifests/profile/www_lib/perl.pp | 11 ++- manifests/profile/www_lib/php.pp | 71 +++++++------- metadata.json | 48 ++++----- spec/classes/profile/tools_lib/jdk_spec.rb | 2 +- 16 files changed, 230 insertions(+), 157 deletions(-) create mode 100644 .github/workflows/ci.yml create mode 100644 docker-compose.test.yml delete mode 100644 docker-compose.yml diff --git a/.fixtures.yml b/.fixtures.yml index 2e6e969ae..3e0d12135 100644 --- a/.fixtures.yml +++ b/.fixtures.yml @@ -15,61 +15,61 @@ fixtures: forge_modules: stdlib: repo: "puppetlabs/stdlib" - ref: "4.25.1" + ref: "6.5.0" apache: repo: "puppetlabs/apache" - ref: "3.4.0" + ref: "5.8.0" apt: repo: "puppetlabs/apt" - ref: "4.5.1" + ref: "7.6.0" archive: repo: "puppet/archive" - ref: "3.2.1" + ref: "4.6.0" concat: repo: "puppetlabs/concat" - ref: "4.2.0" + ref: "6.3.0" docker: repo: "puppetlabs/docker" - ref: "3.4.0" + ref: "3.12.1" firewall: repo: "puppetlabs/firewall" - ref: "1.1.3" + ref: "2.7.0" inifile: repo: "puppetlabs/inifile" - ref: "1.1.3" + ref: "4.3.1" lvm: repo: "puppetlabs/lvm" ref: "1.0.1" mysql: repo: "puppetlabs/mysql" - ref: "8.0.0" + ref: "10.8.0" ntp: repo: "puppetlabs/ntp" - ref: "7.4.0" + ref: "8.4.0" postgresql: repo: "puppetlabs/postgresql" - ref: "5.2.1" + ref: "6.8.0" puppetdb: repo: "puppetlabs/puppetdb" - ref: "6.0.2" + ref: "7.7.0" reboot: repo: "puppetlabs/reboot" - ref: "2.0.0" + ref: "3.1.0" logrotate: repo: "puppet/logrotate" - ref: "3.4.0" + ref: "5.0.0" letsencrypt: repo: "puppet/letsencrypt" - ref: "5.0.0" + ref: "6.0.0" nginx: repo: "puppet/nginx" - ref: "0.15.0" + ref: "2.1.1" php: repo: "puppet/php" - ref: "6.0.2" + ref: "7.1.0" debconf: repo: "stm/debconf" - ref: "2.1.0" + ref: "3.2.0" kmod: repo: "camptocamp/kmod" ref: "2.1.0" @@ -78,19 +78,31 @@ fixtures: ref: "2.2.0" resolv_conf: repo: "saz/resolv_conf" - ref: "3.1.0" - ec2tagfacts: - repo: "bryana/ec2tagfacts" - ref: "0.3.0" + ref: "4.2.1" java: repo: "puppetlabs/java" - ref: "3.3.0" + ref: "6.4.0" java_ks: repo: "puppetlabs/java_ks" - ref: "2.3.0" + ref: "3.3.0" confluence: repo: "puppet/confluence" ref: "3.2.0" jira: repo: "puppet/jira" - ref: "3.5.2" + ref: "4.0.1" + augeas_core: + repo: "puppetlabs/augeas_core" + ref: "1.1.1" + cron_core: + repo: "puppetlabs/cron_core" + ref: "1.0.5" + host_core: + repo: "puppetlabs/host_core" + ref: "1.0.3" + mount_core: + repo: "puppetlabs/mount_core" + ref: "1.0.4" + sshkeys_core: + repo: "puppetlabs/sshkeys_core" + ref: "2.2.0" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..d975351de --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,17 @@ +name: Run CI + +on: + push: + branches: [$default-branch] + pull_request: + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Run tests + run: | + docker-compose --file docker-compose.test.yml build + docker-compose --file docker-compose.test.yml run lint + docker-compose --file docker-compose.test.yml run specs diff --git a/Dockerfile b/Dockerfile index ab760cfb4..7303cb9fd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,23 @@ -FROM ruby:2.5-stretch +FROM ruby:2.5 +ARG UNAME=app +ARG UID=1000 +ARG GID=1000 +ARG APP_HOME=/app +ARG GEM_HOME=/gems -RUN gem install 'bundler:~>1.17.3' 'bundler:~>2.0.2' +RUN groupadd -g $GID -o $UNAME +RUN useradd -m -d $APP_HOME -u $UID -g $GID -o -s /bin/bash $UNAME +RUN mkdir -p $GEM_HOME && chown $UID:$GID $GEM_HOME -COPY Gemfile* /usr/src/nebula/ -WORKDIR /usr/src/nebula +USER $UNAME +RUN gem install 'bundler:~>1.17.3' 'bundler:~>2.0.2' +COPY --chown=$UID:$GID Gemfile* ${APP_HOME}/ +ENV BUNDLE_GEMFILE=${APP_HOME}/Gemfile +ENV BUNDLE_PATH=${GEM_HOME} +WORKDIR ${APP_HOME} -ENV BUNDLE_PATH /gems RUN bundle install -COPY . /usr/src/nebula/ -CMD ["/bin/bash"] +COPY --chown=$UID:$GID . ${APP_HOME} + +CMD ["bundle exec rake spec"] diff --git a/Gemfile b/Gemfile index 7bf82a4cc..7db23b43b 100644 --- a/Gemfile +++ b/Gemfile @@ -12,7 +12,7 @@ group :development do gem "faker" end -gem 'puppet', '~> 5.5' +gem 'puppet', '~> 6.19' gem 'puppet-strings' gem 'semantic_puppet' gem 'yard', '>= 0.9.20' diff --git a/Gemfile.lock b/Gemfile.lock index eec6ed9ce..c68f68d93 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -3,18 +3,25 @@ GEM specs: addressable (2.7.0) public_suffix (>= 2.0.2, < 5.0) + ansi (1.5.0) ast (2.4.1) + codecov (0.1.21) + json + simplecov coderay (1.1.3) concurrent-ruby (1.1.7) + deep_merge (1.2.1) diff-lcs (1.4.4) docile (1.3.2) domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) - facter (2.5.7) - facterdb (1.4.0) - facter (< 4.0.0) + facter (4.0.46) + hocon (~> 1.3) + thor (>= 1.0.1, < 2.0) + facterdb (1.5.0) + facter (< 5.0.0) jgrep - faker (2.13.0) + faker (2.15.1) i18n (>= 1.6, < 2) fast_gettext (1.1.2) gettext (3.2.9) @@ -25,12 +32,15 @@ GEM gettext (>= 3.0.2, < 3.3.0) locale hiera (3.6.0) + hirb (0.7.3) + hocon (1.3.1) http-accept (1.7.0) http-cookie (1.0.3) domain_name (~> 0.5) + httpclient (2.8.3) i18n (1.8.5) concurrent-ruby (~> 1.0) - jgrep (1.5.3) + jgrep (1.5.4) json (2.3.1) json-schema (2.8.1) addressable (>= 2.4) @@ -42,51 +52,58 @@ GEM method_source (0.8.2) mime-types (3.3.1) mime-types-data (~> 3.2015) - mime-types-data (3.2020.0512) + mime-types-data (3.2020.1104) minitar (0.9) mocha (1.1.0) metaclass (~> 0.0.1) multi_json (1.15.0) net-scp (3.0.0) net-ssh (>= 2.6.5, < 7.0.0) - net-ssh (4.2.0) - net-telnet (0.2.0) + net-ssh (6.1.0) + net-telnet (0.1.1) netrc (0.11.0) - parallel (1.19.2) + parallel (1.20.1) parallel_tests (2.14.2) parallel - parser (2.7.1.4) - ast (~> 2.4.1) + parser (2.5.1.2) + ast (~> 2.4.0) pathspec (0.2.1) - powerpack (0.1.2) + powerpack (0.1.3) pry (0.10.4) coderay (~> 1.1.0) method_source (~> 0.8.1) slop (~> 3.4) - public_suffix (4.0.5) - puppet (5.5.21) - facter (> 2.0.1, < 4) - fast_gettext (~> 1.1.2) + public_suffix (4.0.6) + puppet (6.19.1) + concurrent-ruby (~> 1.0) + deep_merge (~> 1.0) + facter (> 2.0.1, < 5) + fast_gettext (~> 1.1) hiera (>= 3.2.1, < 4) + httpclient (~> 2.8) locale (~> 2.1) multi_json (~> 1.10) - puppet-blacksmith (6.0.0) - puppet-modulebuilder (~> 0.1) + puppet-resource_api (~> 1.5) + semantic_puppet (~> 1.0) + puppet-blacksmith (6.1.0) + puppet-modulebuilder (~> 0.2) rest-client (~> 2.0) puppet-lint (2.4.2) - puppet-module-posix-default-r2.5 (0.5.0) - puppet-module-posix-dev-r2.5 (0.3.4) + puppet-module-posix-default-r2.5 (0.5.3) + puppet-module-posix-dev-r2.5 (0.3.14) + codecov (~> 0.1.10) gettext-setup (~> 0.26) metadata-json-lint (>= 2.0.2, < 3.0.0) mocha (>= 1.0.0, < 1.2.0) parallel_tests (>= 2.14.1, < 2.14.3) + parser (~> 2.5.1.2) pry (~> 0.10.4) puppet-blacksmith (>= 3.4.0) puppet-lint (>= 2.3.0, < 3.0.0) puppet-strings (~> 2.0) puppet-syntax (>= 2.4.1, < 3.0.0) puppet_pot_generator (~> 1.0) - puppetlabs_spec_helper (>= 2.8.0, < 3.0.0) + puppetlabs_spec_helper (>= 2.9.0, < 3.0.0) rainbow (~> 2.0) rspec-puppet (>= 2.3.2, < 3.0.0) rspec-puppet-facts (~> 1.8) @@ -95,10 +112,13 @@ GEM rubocop-i18n (~> 1.2.0) rubocop-rspec (~> 1.16.0) simplecov (>= 0.14.1, < 1.0.0) - specinfra (= 2.67.3) + simplecov-console (~> 0.4.2) + specinfra (= 2.76.7) puppet-modulebuilder (0.2.1) minitar (~> 0.6) pathspec (~> 0.2.1) + puppet-resource_api (1.8.13) + hocon (>= 1.0) puppet-strings (2.5.0) rgen yard (~> 0.9.5) @@ -122,19 +142,19 @@ GEM mime-types (>= 1.16, < 4.0) netrc (~> 0.8) rgen (0.8.2) - rspec (3.9.0) - rspec-core (~> 3.9.0) - rspec-expectations (~> 3.9.0) - rspec-mocks (~> 3.9.0) - rspec-core (3.9.2) - rspec-support (~> 3.9.3) - rspec-expectations (3.9.2) + rspec (3.10.0) + rspec-core (~> 3.10.0) + rspec-expectations (~> 3.10.0) + rspec-mocks (~> 3.10.0) + rspec-core (3.10.0) + rspec-support (~> 3.10.0) + rspec-expectations (3.10.0) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.9.0) - rspec-mocks (3.9.1) + rspec-support (~> 3.10.0) + rspec-mocks (3.10.0) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.9.0) - rspec-puppet (2.7.10) + rspec-support (~> 3.10.0) + rspec-puppet (2.8.0) rspec rspec-puppet-facts (1.10.0) facter @@ -147,7 +167,7 @@ GEM puppetlabs_spec_helper rspec rspec-puppet - rspec-support (3.9.3) + rspec-support (3.10.0) rspec_junit_formatter (0.4.1) rspec-core (>= 2, < 4, != 2.12.0) rubocop (0.49.1) @@ -164,18 +184,25 @@ GEM ruby-progressbar (1.10.1) semantic_puppet (1.0.2) sfl (2.3) - simplecov (0.19.0) + simplecov (0.20.0) docile (~> 1.1) simplecov-html (~> 0.11) - simplecov-html (0.12.2) + simplecov_json_formatter (~> 0.1) + simplecov-console (0.4.2) + ansi + hirb + simplecov + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.2) slop (3.6.0) spdx-licenses (1.2.0) - specinfra (2.67.3) + specinfra (2.76.7) net-scp - net-ssh (>= 2.7, < 5.0) - net-telnet + net-ssh (>= 2.7) + net-telnet (= 0.1.1) sfl text (1.3.1) + thor (1.0.1) unf (0.1.4) unf_ext unf_ext (0.0.7.7) @@ -188,7 +215,7 @@ PLATFORMS DEPENDENCIES faker fast_gettext - puppet (~> 5.5) + puppet (~> 6.19) puppet-module-posix-default-r2.5 puppet-module-posix-dev-r2.5 puppet-strings diff --git a/docker-compose.test.yml b/docker-compose.test.yml new file mode 100644 index 000000000..7befca2a4 --- /dev/null +++ b/docker-compose.test.yml @@ -0,0 +1,12 @@ +version: '3' +services: + specs: + build: . + command: 'bundle exec rake spec' + + lint: + build: . + command: + - /bin/bash + - '-c' + - 'bundle exec rake rubocop && bundle exec rake syntax lint && bundle exec rake metadata_lint' diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index 45518706e..000000000 --- a/docker-compose.yml +++ /dev/null @@ -1,12 +0,0 @@ -version: '3' - -services: - nebula: - build: . - volumes: - - .:/usr/src/nebula - - gem_cache:/gems - -volumes: - gem_cache: - diff --git a/manifests/profile/apt.pp b/manifests/profile/apt.pp index f84a53602..5fe53bedc 100644 --- a/manifests/profile/apt.pp +++ b/manifests/profile/apt.pp @@ -33,9 +33,10 @@ # Ensure that apt repos are set up and updated before attempting to install a # new package. Tag some packages as 'preinstalled' to avoid dependency cycles. - package { ['apt-transport-https','dirmngr']: + ensure_packages(['apt-transport-https','dirmngr'], { tag => 'package-preinstalled' - } + }) + Apt::Source <| |> -> Package <| tag != 'package-preinstalled' |> Class['apt::update'] -> Package <| |> diff --git a/manifests/profile/deb_signing.pp b/manifests/profile/deb_signing.pp index 11120862a..aa9e3e24e 100644 --- a/manifests/profile/deb_signing.pp +++ b/manifests/profile/deb_signing.pp @@ -20,7 +20,7 @@ String $sign_script ) { - package { ['gnupg', 'dpkg-dev', 'pinentry-curses', 'apt-utils']: } + ensure_packages(['gnupg', 'dpkg-dev', 'pinentry-curses', 'apt-utils']) file { '/var/local/deb-signing.key': ensure => 'file', diff --git a/manifests/profile/exim4.pp b/manifests/profile/exim4.pp index cf2b784d3..1666959da 100644 --- a/manifests/profile/exim4.pp +++ b/manifests/profile/exim4.pp @@ -43,8 +43,7 @@ notify => Exec['update exim4 config'], } - package { 'exim4': } - package { 'bsd-mailx': } + ensure_packages(['exim4', 'bsd-mailx']) exec { 'load new email aliases': command => '/usr/bin/newaliases', diff --git a/manifests/profile/ruby.pp b/manifests/profile/ruby.pp index c1631fa9e..de8d1ac3e 100644 --- a/manifests/profile/ruby.pp +++ b/manifests/profile/ruby.pp @@ -27,7 +27,7 @@ String $manage_blacklist = '^jruby-(1\.7|9\.0)\.', ) { - package {[ + ensure_packages([ 'autoconf', 'build-essential', 'bison', @@ -39,7 +39,7 @@ 'libncurses5-dev', 'libffi-dev', 'libgdbm-dev' - ]:} + ]) if $::os['release']['major'] == '8' { package { 'libmysqlclient-dev': } diff --git a/manifests/profile/tools_lib/jdk.pp b/manifests/profile/tools_lib/jdk.pp index 010f739a0..fb246f4e6 100644 --- a/manifests/profile/tools_lib/jdk.pp +++ b/manifests/profile/tools_lib/jdk.pp @@ -18,7 +18,7 @@ ) { $url = "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk${version_major}-${version_minor}/OpenJDK8U-jdk_x64_linux_hotspot_${version_major}${version_minor}.tar.gz" - java::oracle { 'jdk8': + java::download { 'jdk8': ensure => 'present', java_se => 'jdk', version_major => $version_major, @@ -39,7 +39,7 @@ ensure => latest, require => [ File[$cert_file], - Java::Oracle['jdk8'], + Java::Download['jdk8'], ], name => $cert_name, certificate => $cert_file, diff --git a/manifests/profile/www_lib/perl.pp b/manifests/profile/www_lib/perl.pp index 53e9fc3d5..a11d7c19d 100644 --- a/manifests/profile/www_lib/perl.pp +++ b/manifests/profile/www_lib/perl.pp @@ -13,7 +13,7 @@ include nebula::profile::www_lib::dependencies include nebula::profile::geoip - package { [ + ensure_packages([ 'libalgorithm-c3-perl', 'libany-moose-perl', 'libcapture-tiny-perl', @@ -122,10 +122,10 @@ 'libxml-sax-perl', 'libxml-xpath-perl', 'libyaml-perl', - 'libyaml-syck-perl']: - } + 'libyaml-syck-perl', + ]) - -> nebula::cpan { [ + nebula::cpan { [ 'CGI', 'Dancer::Template::Haml', 'Digest::SHA1', @@ -149,6 +149,9 @@ 'WebService::Solr::Tiny']: } + # Install all software before adding any cpan modules. + Package <| |> -> Nebula::Cpan <| |> + file { '/etc/profile.d/perl-include.sh': ensure => 'file', content => template('nebula/profile/www_lib/etc/profile.d/perl-include.sh.erb'), diff --git a/manifests/profile/www_lib/php.pp b/manifests/profile/www_lib/php.pp index 978d18225..f7e7d66a5 100644 --- a/manifests/profile/www_lib/php.pp +++ b/manifests/profile/www_lib/php.pp @@ -118,8 +118,41 @@ pear => true, # We're using this for PEAR, so set to true phpunit => true, # Unsure whether this should be system or app-level - # Disable default 'www' pool creation; it is created below manually. - fpm_pools => {}, + # Configure FPM default pool ('www') + # + # The 'www' pool is hard-coded in the php module so can't be created here. + # + # The php::fpm::pool class is intended to be used to create other pools only. + # + # Options to circumvent the php module design is to either: + # 1. Adjust the ::php { fpm_pools => {settings} } here. + # 2. Adjust the settings in hiera as: + # - php::params::fpm_tools: + # www: + # 3. Set fpm_pools => {} to disable default 'www' creation and then + # create it manually using php::fpm::pool class like any pool. This + # is the option we are choosing. + # + # + fpm_pools => { + 'www' => { + 'user' => 'nobody', + 'group' => 'nogroup', + 'listen' => "/run/php/php${default_php_version}-fpm.sock", + 'listen_owner' => 'nobody', + 'listen_group' => 'nogroup', + 'pm' => 'dynamic', + 'pm_max_children' => 10, + 'pm_start_servers' => 2, + 'pm_min_spare_servers' => 1, + 'pm_max_spare_servers' => 3, + + # Default PHP puppet module settings from fpm_pools + 'catch_workers_output' => 'no', + 'pm_max_requests' => 0, + 'request_terminate_timeout' => 0, + } + }, # Some of these may only be needed for mirlyn, so if/when the mirlyn API is # removed, we should be able to remove these @@ -153,40 +186,6 @@ }, } - # Configure FPM default pool ('www') - # - # The 'www' pool is hard-coded in the php module so can't be created here. - # - # The php::fpm::pool class is intended to be used to create other pools only. - # - # Options to circumvent the php module design is to either: - # 1. Adjust the ::php { fpm_pools => {settings} } here. - # 2. Adjust the settings in hiera as: - # - php::params::fpm_tools: - # www: - # 3. Set fpm_pools => {} to disable default 'www' creation and then - # create it manually using php::fpm::pool class like any pool. This - # is the option we are choosing. - # - # - php::fpm::pool { 'www': - user => 'nobody', - group => 'nogroup', - listen => "/run/php/php${default_php_version}-fpm.sock", - listen_owner => 'nobody', - listen_group => 'nogroup', - pm => 'dynamic', - pm_max_children => 10, - pm_start_servers => 2, - pm_min_spare_servers => 1, - pm_max_spare_servers => 3, - - # Default PHP puppet module settings from fpm_pools - catch_workers_output => 'no', - pm_max_requests => 0, - request_terminate_timeout => 0, - } - # PHP 5.6 defaults to using www-data, while we need to use nobody:nogroup for sockets file_line { default: diff --git a/metadata.json b/metadata.json index 8cdcd818b..1442d6012 100644 --- a/metadata.json +++ b/metadata.json @@ -7,32 +7,36 @@ "source": "https://github.com/mlibrary/nebula", "issues_url": "https://github.com/mlibrary/nebula/issues", "dependencies": [ - {"name": "puppetlabs/stdlib", "version_requirement": ">= 4.25.1 < 5.0.0"}, - {"name": "puppetlabs/apache", "version_requirement": ">= 3.4.0 < 4.0.0"}, - {"name": "puppetlabs/apt", "version_requirement": ">= 4.5.1 < 5.0.0"}, - {"name": "puppetlabs/concat", "version_requirement": ">= 4.2.0 < 5.0.0"}, + {"name": "puppetlabs/stdlib", "version_requirement": ">= 4.25.1 < 7.0.0"}, + {"name": "puppetlabs/apache", "version_requirement": ">= 3.4.0 < 6.0.0"}, + {"name": "puppetlabs/apt", "version_requirement": ">= 4.5.1 < 8.0.0"}, + {"name": "puppetlabs/concat", "version_requirement": ">= 4.2.0 < 7.0.0"}, {"name": "puppetlabs/docker", "version_requirement": ">= 3.4.0 < 4.0.0"}, - {"name": "puppetlabs/firewall", "version_requirement": ">= 1.1.3 < 2.0.0"}, - {"name": "puppetlabs/inifile", "version_requirement": ">= 1.1.3 < 3.0.0"}, - {"name": "puppetlabs/lvm", "version_requirement": ">= 1.0.1"}, - {"name": "puppetlabs/mysql", "version_requirement": ">= 8.0.0 < 9.0.0"}, - {"name": "puppetlabs/ntp", "version_requirement": ">= 7.4.0 < 8.0.0"}, - {"name": "puppetlabs/postgresql", "version_requirement": ">= 5.2.1 < 6.0.0"}, - {"name": "puppetlabs/puppetdb", "version_requirement": ">= 6.0.2 < 7.0.0"}, - {"name": "puppetlabs/reboot", "version_requirement": ">= 2.0.0 < 3.0.0"}, - {"name": "puppet/letsencrypt", "version_requirement": ">= 5.0.0 < 6.0.0"}, - {"name": "puppet/nginx", "version_requirement": ">= 0.15.0 < 0.16.0"}, - {"name": "puppet/php", "version_requirement": ">= 6.0.2 < 7.0.0"}, - {"name": "puppet/logrotate", "version_requirement": ">= 3.4.0 < 4.0.0"}, - {"name": "stm/debconf", "version_requirement": ">= 2.1.0 < 3.0.0"}, + {"name": "puppetlabs/firewall", "version_requirement": ">= 1.1.3 < 3.0.0"}, + {"name": "puppetlabs/inifile", "version_requirement": ">= 1.1.3 < 5.0.0"}, + {"name": "puppetlabs/lvm", "version_requirement": ">= 1.0.1 < 2.0.0"}, + {"name": "puppetlabs/mysql", "version_requirement": ">= 8.0.0 < 11.0.0"}, + {"name": "puppetlabs/ntp", "version_requirement": ">= 7.4.0 < 9.0.0"}, + {"name": "puppetlabs/postgresql", "version_requirement": ">= 5.2.1 < 7.0.0"}, + {"name": "puppetlabs/puppetdb", "version_requirement": ">= 6.0.2 < 8.0.0"}, + {"name": "puppetlabs/reboot", "version_requirement": ">= 2.0.0 < 4.0.0"}, + {"name": "puppet/letsencrypt", "version_requirement": ">= 5.0.0 < 7.0.0"}, + {"name": "puppet/nginx", "version_requirement": ">= 1.0.0 < 3.0.0"}, + {"name": "puppet/php", "version_requirement": ">= 6.0.2 < 8.0.0"}, + {"name": "puppet/logrotate", "version_requirement": ">= 3.4.0 < 6.0.0"}, + {"name": "stm/debconf", "version_requirement": ">= 2.1.0 < 4.0.0"}, {"name": "camptocamp/kmod", "version_requirement": ">= 2.1.0 < 3.0.0"}, {"name": "jdowning/rbenv", "version_requirement": ">= 2.2.0 < 3.0.0"}, - {"name": "saz/resolv_conf", "version_requirement": ">= 3.1.0 < 4.0.0"}, + {"name": "saz/resolv_conf", "version_requirement": ">= 3.1.0 < 5.0.0"}, {"name": "bryana/ec2tagfacts", "version_requirement": ">= 0.3.0 < 0.4.0"}, - {"name": "puppetlabs/java", "version_requirement": ">= 3.3.0 < 4.0.0"}, - {"name": "puppetlabs/java_ks", "version_requirement": ">= 2.3.0 < 3.0.0"}, + {"name": "puppetlabs/java", "version_requirement": ">= 3.3.0 < 7.0.0"}, + {"name": "puppetlabs/java_ks", "version_requirement": ">= 2.3.0 < 4.0.0"}, {"name": "puppet/confluence", "version_requirement": ">= 3.2.0 < 4.0.0"}, - {"name": "puppet/jira", "version_requirement": ">= 3.5.2 < 4.0.0"} + {"name": "puppet/jira", "version_requirement": ">= 3.5.2 < 5.0.0"}, + {"name": "puppetlabs/cron_core", "version_requirement": ">= 1.0.5 < 2.0.0"}, + {"name": "puppetlabs/host_core", "version_requirement": ">= 1.0.3 < 2.0.0"}, + {"name": "puppetlabs/mount_core", "version_requirement": ">= 1.0.4 < 2.0.0"}, + {"name": "puppetlabs/sshkeys_core", "version_requirement": ">= 2.2.0 < 3.0.0"} ], "operatingsystem_support": [ { @@ -43,7 +47,7 @@ "requirements": [ { "name": "puppet", - "version_requirement": ">= 4.10.0 < 6.0.0" + "version_requirement": ">= 6.0.0 < 7.0.0" } ], "pdk-version": "1.3.2", diff --git a/spec/classes/profile/tools_lib/jdk_spec.rb b/spec/classes/profile/tools_lib/jdk_spec.rb index 79600239e..3a0d34113 100644 --- a/spec/classes/profile/tools_lib/jdk_spec.rb +++ b/spec/classes/profile/tools_lib/jdk_spec.rb @@ -13,7 +13,7 @@ context 'with default attributes' do it 'installs from AdoptOpenJDK releases' do - is_expected.to contain_java__oracle('jdk8') + is_expected.to contain_java__download('jdk8') .with_url(%r{^https://github.com/AdoptOpenJDK/}) end end