From 459757dd6560837631aedb023347b3cb6dabb81f Mon Sep 17 00:00:00 2001 From: Glenn Sarti Date: Fri, 1 Nov 2019 09:29:02 +0800 Subject: [PATCH 1/4] (maint) Update for PDK templates This commit updates the module as per PDK-Templates commit 0b5b39b --- .rubocop.yml | 8 +++++++- Gemfile | 3 ++- Rakefile | 13 +++++++++++-- metadata.json | 4 ++-- spec/default_facts.yml | 1 + 5 files changed, 23 insertions(+), 6 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index f17c5dd..bab25db 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -14,7 +14,6 @@ AllCops: - "**/Rakefile" - pkg/**/* - spec/fixtures/**/* - - spec/**/* - vendor/**/* - "**/Puppetfile" - "**/Vagrantfile" @@ -28,6 +27,7 @@ GetText/DecorateString: Description: We don't want to decorate test output. Exclude: - spec/**/* + Enabled: false RSpec/BeforeAfterAll: Description: Beware of using after(:all) as it may cause state to leak between tests. A necessary evil in acceptance testing. @@ -89,6 +89,12 @@ Style/MethodCalledOnDoEndBlock: Enabled: true Style/StringMethods: Enabled: true +GetText/DecorateFunctionMessage: + Enabled: false +GetText/DecorateStringFormattingUsingInterpolation: + Enabled: false +GetText/DecorateStringFormattingUsingPercent: + Enabled: false Layout/EndOfLine: Enabled: false Layout/IndentHeredoc: diff --git a/Gemfile b/Gemfile index 60dd905..f7560c1 100644 --- a/Gemfile +++ b/Gemfile @@ -24,6 +24,7 @@ group :development do gem "json", '= 1.8.1', require: false if Gem::Version.new(RUBY_VERSION.dup) == Gem::Version.new('2.1.9') gem "json", '= 2.0.4', require: false if Gem::Requirement.create('~> 2.4.2').satisfied_by?(Gem::Version.new(RUBY_VERSION.dup)) gem "json", '= 2.1.0', require: false if Gem::Requirement.create(['>= 2.5.0', '< 2.7.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup)) + gem "rb-readline", '= 0.5.5', require: false, platforms: [:mswin, :mingw, :x64_mingw] gem "puppet-module-posix-default-r#{minor_version}", '~> 0.3', require: false, platforms: [:ruby] gem "puppet-module-posix-dev-r#{minor_version}", '~> 0.3', require: false, platforms: [:ruby] gem "puppet-module-win-default-r#{minor_version}", '~> 0.3', require: false, platforms: [:mswin, :mingw, :x64_mingw] @@ -70,4 +71,4 @@ extra_gemfiles.each do |gemfile| eval(File.read(gemfile), binding) end end -# vim: syntax=ruby \ No newline at end of file +# vim: syntax=ruby diff --git a/Rakefile b/Rakefile index d9b223c..395df54 100644 --- a/Rakefile +++ b/Rakefile @@ -15,8 +15,17 @@ end def changelog_project return unless Rake.application.top_level_tasks.include? "changelog" - returnVal = nil || JSON.load(File.read('metadata.json'))['source'].match(%r{.*/([^/]*)})[1] - raise "unable to find the changelog_project in .sync.yml or the name in metadata.json" if returnVal.nil? + + returnVal = nil + returnVal ||= begin + metadata_source = JSON.load(File.read('metadata.json'))['source'] + metadata_source_match = metadata_source && metadata_source.match(%r{.*\/([^\/]*?)(?:\.git)?\Z}) + + metadata_source_match && metadata_source_match[1] + end + + raise "unable to find the changelog_project in .sync.yml or calculate it from the source in metadata.json" if returnVal.nil? + puts "GitHubChangelogGenerator project:#{returnVal}" returnVal end diff --git a/metadata.json b/metadata.json index b99c3e6..20c41ac 100644 --- a/metadata.json +++ b/metadata.json @@ -80,6 +80,6 @@ } ], "template-url": "https://github.com/puppetlabs/pdk-templates/#master", - "template-ref": "heads/master-0-gb096033", - "pdk-version": "1.11.1" + "template-ref": "1.14.1-0-g0b5b39b", + "pdk-version": "1.14.0" } diff --git a/spec/default_facts.yml b/spec/default_facts.yml index ea1e480..f777abf 100644 --- a/spec/default_facts.yml +++ b/spec/default_facts.yml @@ -3,5 +3,6 @@ # Facts specified here will override the values provided by rspec-puppet-facts. --- ipaddress: "172.16.254.254" +ipaddress6: "FE80:0000:0000:0000:AAAA:AAAA:AAAA" is_pe: false macaddress: "AA:AA:AA:AA:AA:AA" From 4913dc0bef543d1321b8e3740e9eabcf0b32f026 Mon Sep 17 00:00:00 2001 From: Glenn Sarti Date: Fri, 1 Nov 2019 09:30:31 +0800 Subject: [PATCH 2/4] (PDK-1501) Allow Travis CI config to be templated Previously the module unmanaged the Travis CI file when converted to Litmus. This commit allows the Travis CI file to be managed. --- .sync.yml | 57 +++++++++++++++++++++++++++++++++- .travis.yml | 88 +++++++++++++++++++++-------------------------------- 2 files changed, 91 insertions(+), 54 deletions(-) diff --git a/.sync.yml b/.sync.yml index b9f29ab..d2d4f82 100644 --- a/.sync.yml +++ b/.sync.yml @@ -7,7 +7,62 @@ unmanaged: true .travis.yml: - unmanaged: true + branches: + - release + includes: + - + bundler_args: + dist: trusty + env: PLATFORMS=deb_puppet5 + rvm: 2.5.1 + before_script: + - bundle exec rake 'litmus:provision_list[travis_deb]' + - bundle exec bolt command run 'apt-get install wget -y' --inventoryfile inventory.yaml --nodes='localhost*' + - bundle exec rake 'litmus:install_agent[puppet5]' + - bundle exec rake litmus:install_module + script: + - bundle exec rake litmus:acceptance:parallel + services: docker + sudo: required + - + bundler_args: + dist: trusty + env: PLATFORMS=deb_puppet6 + rvm: 2.5.1 + before_script: + - bundle exec rake 'litmus:provision_list[travis_deb]' + - bundle exec bolt command run 'apt-get install wget -y' --inventoryfile inventory.yaml --nodes='localhost*' + - bundle exec rake 'litmus:install_agent[puppet6]' + - bundle exec rake litmus:install_module + script: + - bundle exec rake litmus:acceptance:parallel + services: docker + - + bundler_args: + dist: trusty + env: PLATFORMS=el_puppet5 + rvm: 2.5.1 + before_script: + - bundle exec rake 'litmus:provision_list[travis_el]' + - bundle exec rake 'litmus:install_agent[puppet5]' + - bundle exec rake litmus:install_module + script: + - bundle exec rake litmus:acceptance:parallel + services: docker + sudo: required + - + bundler_args: + dist: trusty + env: PLATFORMS=el_puppet6 + rvm: 2.5.1 + before_script: + - bundle exec rake 'litmus:provision_list[travis_el]' + - bundle exec rake 'litmus:install_agent[puppet6]' + - bundle exec rake litmus:install_module + script: + - bundle exec rake litmus:acceptance:parallel + services: docker + sudo: required appveyor.yml: delete: true diff --git a/.travis.yml b/.travis.yml index 8c3980a..ea8a113 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,59 +23,6 @@ stages: matrix: fast_finish: true include: - - - bundler_args: - dist: trusty - env: PLATFORMS=deb_puppet5 - rvm: 2.5.1 - before_script: - - bundle exec rake 'litmus:provision_list[travis_deb]' - - bundle exec bolt command run 'apt-get install wget -y' --inventoryfile inventory.yaml --nodes='localhost*' - - bundle exec rake 'litmus:install_agent[puppet5]' - - bundle exec rake litmus:install_module - script: - - bundle exec rake litmus:acceptance:parallel - services: docker - sudo: required - - - bundler_args: - dist: trusty - env: PLATFORMS=deb_puppet6 - rvm: 2.5.1 - before_script: - - bundle exec rake 'litmus:provision_list[travis_deb]' - - bundle exec bolt command run 'apt-get install wget -y' --inventoryfile inventory.yaml --nodes='localhost*' - - bundle exec rake 'litmus:install_agent[puppet6]' - - bundle exec rake litmus:install_module - script: - - bundle exec rake litmus:acceptance:parallel - services: docker - - - bundler_args: - dist: trusty - env: PLATFORMS=el_puppet5 - rvm: 2.5.1 - before_script: - - bundle exec rake 'litmus:provision_list[travis_el]' - - bundle exec rake 'litmus:install_agent[puppet5]' - - bundle exec rake litmus:install_module - script: - - bundle exec rake litmus:acceptance:parallel - services: docker - sudo: required - - - bundler_args: - dist: trusty - env: PLATFORMS=el_puppet6 - rvm: 2.5.1 - before_script: - - bundle exec rake 'litmus:provision_list[travis_el]' - - bundle exec rake 'litmus:install_agent[puppet6]' - - bundle exec rake litmus:install_module - script: - - bundle exec rake litmus:acceptance:parallel - services: docker - sudo: required - env: CHECK="check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop syntax lint metadata_lint" stage: static @@ -90,6 +37,41 @@ matrix: - env: DEPLOY_TO_FORGE=yes stage: deploy + - + before_script: ["bundle exec rake 'litmus:provision_list[travis_deb]'", "bundle exec bolt command run 'apt-get install wget -y' --inventoryfile inventory.yaml --nodes='localhost*'", "bundle exec rake 'litmus:install_agent[puppet5]'", "bundle exec rake litmus:install_module"] + bundler_args: + dist: trusty + env: PLATFORMS=deb_puppet5 + rvm: 2.5.1 + script: ["bundle exec rake litmus:acceptance:parallel"] + services: docker + sudo: required + - + before_script: ["bundle exec rake 'litmus:provision_list[travis_deb]'", "bundle exec bolt command run 'apt-get install wget -y' --inventoryfile inventory.yaml --nodes='localhost*'", "bundle exec rake 'litmus:install_agent[puppet6]'", "bundle exec rake litmus:install_module"] + bundler_args: + dist: trusty + env: PLATFORMS=deb_puppet6 + rvm: 2.5.1 + script: ["bundle exec rake litmus:acceptance:parallel"] + services: docker + - + before_script: ["bundle exec rake 'litmus:provision_list[travis_el]'", "bundle exec rake 'litmus:install_agent[puppet5]'", "bundle exec rake litmus:install_module"] + bundler_args: + dist: trusty + env: PLATFORMS=el_puppet5 + rvm: 2.5.1 + script: ["bundle exec rake litmus:acceptance:parallel"] + services: docker + sudo: required + - + before_script: ["bundle exec rake 'litmus:provision_list[travis_el]'", "bundle exec rake 'litmus:install_agent[puppet6]'", "bundle exec rake litmus:install_module"] + bundler_args: + dist: trusty + env: PLATFORMS=el_puppet6 + rvm: 2.5.1 + script: ["bundle exec rake litmus:acceptance:parallel"] + services: docker + sudo: required branches: only: - master From ee0e10dc12a679a033fb0f9dacc9ce8c49be4b5d Mon Sep 17 00:00:00 2001 From: Glenn Sarti Date: Fri, 1 Nov 2019 09:47:13 +0800 Subject: [PATCH 3/4] (maint) Fix rubocop failures in download_spec.rb This commit updates the download_spec.rb file to remote the global variable and use let based test fixture. --- spec/defines/download_spec.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/spec/defines/download_spec.rb b/spec/defines/download_spec.rb index cbb1097..f9b9c97 100644 --- a/spec/defines/download_spec.rb +++ b/spec/defines/download_spec.rb @@ -1,8 +1,8 @@ require 'spec_helper' -url = 'http://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz' - describe 'java::download', type: :define do + let(:url) { 'http://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz' } + context 'with CentOS 64-bit' do let(:facts) { { kernel: 'Linux', os: { family: 'RedHat', architecture: 'x86_64', name: 'CentOS', release: { full: '6.0' } } } } @@ -13,7 +13,7 @@ describe 'java::download', type: :define do version_major: '8u201', version_minor: 'b09', java_se: 'jdk', - url: $url, + url: url, } end let(:title) { 'jdk8' } @@ -48,7 +48,7 @@ describe 'java::download', type: :define do basedir: '/usr/java', manage_symlink: true, symlink_name: 'java_home', - url: $url, + url: url, } end let(:title) { 'jdk6' } @@ -61,7 +61,7 @@ describe 'java::download', type: :define do let(:facts) { { kernel: 'Linux', os: { family: 'Debian', architecture: 'amd64', name: 'Ubuntu', release: { full: '16.04' } } } } context 'when passing URL to url parameter' do - let(:params) { { ensure: 'present', version_major: '8u201', version_minor: 'b09', java_se: 'jdk', url: $url } } + let(:params) { { ensure: 'present', version_major: '8u201', version_minor: 'b09', java_se: 'jdk', url: url } } let(:title) { 'jdk8' } it { is_expected.to contain_archive('/tmp/jdk-8u201-linux-x64.tar.gz') } @@ -72,7 +72,7 @@ describe 'java::download', type: :define do let(:facts) { { kernel: 'Linux', os: { family: 'Debian', architecture: 'amd64', name: 'Debian', release: { full: '10.0' } } } } context 'when passing URL to url parameter' do - let(:params) { { ensure: 'present', version_major: '8u201', version_minor: 'b09', java_se: 'jdk', url: $url } } + let(:params) { { ensure: 'present', version_major: '8u201', version_minor: 'b09', java_se: 'jdk', url: url } } let(:title) { 'jdk8' } it { is_expected.to contain_archive('/tmp/jdk-8u201-linux-x64.tar.gz') } From 018de0aef68044deccac371d29cc4c3e1b0b95d4 Mon Sep 17 00:00:00 2001 From: Glenn Sarti Date: Tue, 5 Nov 2019 13:31:09 +0800 Subject: [PATCH 4/4] (PDK-1501) Fix acceptance stages in Travis CI Previously the Travis CI file was brought under PDK control, however the sync.yml did not contain the stage settings for the Litmus jobs which meant that they did not run. This commit fixes that error and runs PDK Update again --- .sync.yml | 3 +++ .travis.yml | 3 +++ 2 files changed, 6 insertions(+) diff --git a/.sync.yml b/.sync.yml index d2d4f82..f125e58 100644 --- a/.sync.yml +++ b/.sync.yml @@ -24,6 +24,7 @@ - bundle exec rake litmus:acceptance:parallel services: docker sudo: required + stage: acceptance - bundler_args: dist: trusty @@ -50,6 +51,7 @@ - bundle exec rake litmus:acceptance:parallel services: docker sudo: required + stage: acceptance - bundler_args: dist: trusty @@ -63,6 +65,7 @@ - bundle exec rake litmus:acceptance:parallel services: docker sudo: required + stage: acceptance appveyor.yml: delete: true diff --git a/.travis.yml b/.travis.yml index ea8a113..8c16952 100644 --- a/.travis.yml +++ b/.travis.yml @@ -45,6 +45,7 @@ matrix: rvm: 2.5.1 script: ["bundle exec rake litmus:acceptance:parallel"] services: docker + stage: acceptance sudo: required - before_script: ["bundle exec rake 'litmus:provision_list[travis_deb]'", "bundle exec bolt command run 'apt-get install wget -y' --inventoryfile inventory.yaml --nodes='localhost*'", "bundle exec rake 'litmus:install_agent[puppet6]'", "bundle exec rake litmus:install_module"] @@ -62,6 +63,7 @@ matrix: rvm: 2.5.1 script: ["bundle exec rake litmus:acceptance:parallel"] services: docker + stage: acceptance sudo: required - before_script: ["bundle exec rake 'litmus:provision_list[travis_el]'", "bundle exec rake 'litmus:install_agent[puppet6]'", "bundle exec rake litmus:install_module"] @@ -71,6 +73,7 @@ matrix: rvm: 2.5.1 script: ["bundle exec rake litmus:acceptance:parallel"] services: docker + stage: acceptance sudo: required branches: only: