summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml12
-rw-r--r--Gemfile28
-rw-r--r--README4
-rw-r--r--lib/facter/debian_nextcodename.rb9
-rw-r--r--lib/facter/ubuntu_nextcodename.rb2
-rw-r--r--lib/facter/util/ubuntu.rb1
-rw-r--r--manifests/init.pp9
-rw-r--r--manifests/preferences_snippet.pp3
-rw-r--r--spec/unit/custom_facts_spec.rb27
9 files changed, 52 insertions, 43 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..f7b8eca
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,12 @@
+before_script:
+ - ruby -v
+ - gem install bundler --no-ri --no-rdoc
+ - bundle install --jobs $(nproc) "${FLAGS[@]}"
+
+# don't fail on lint warnings
+rspec:
+ script:
+ - bundle exec rake lint || /bin/true
+ - bundle exec rake syntax
+ - bundle exec rake validate
+ - bundle exec rake spec
diff --git a/Gemfile b/Gemfile
index 4033611..8925a90 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,37 +1,13 @@
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 "rake"
gem "rspec", '< 3.2.0'
+ gem "puppet", ENV['PUPPET_VERSION'] || ENV['GEM_PUPPET_VERSION'] || ENV['PUPPET_GEM_VERSION'] || '~> 3.7.0'
+ gem "facter", ENV['FACTER_VERSION'] || ENV['GEM_FACTER_VERSION'] || ENV['FACTER_GEM_VERSION'] || '~> 2.2.0'
gem "rspec-puppet"
gem "puppetlabs_spec_helper"
gem "metadata-json-lint"
gem "rspec-puppet-facts"
gem "mocha"
end
-
-facterversion = ENV['GEM_FACTER_VERSION'] || ENV['FACTER_GEM_VERSION']
-if facterversion
- gem 'facter', *location_for(facterversion)
-else
- gem 'facter', :require => false
-end
-
-puppetversion = ENV['GEM_PUPPET_VERSION'] || ENV['PUPPET_GEM_VERSION']
-if puppetversion
- gem 'puppet', *location_for(puppetversion)
-else
- gem 'puppet', :require => false
-end
-
diff --git a/README b/README
index 8e52994..be3a159 100644
--- a/README
+++ b/README
@@ -568,6 +568,10 @@ To run pupept rspec tests:
bundle install --path vendor/bundle
bundle exec rake spec
+Using different facter/puppet versions:
+
+ FACTER_GEM_VERSION=1.6.10 PUPPET_GEM_VERSION=2.7.23 bundle install --path vendor/bundle
+ bundle exec rake spec
Licensing
=========
diff --git a/lib/facter/debian_nextcodename.rb b/lib/facter/debian_nextcodename.rb
index 6e994a4..c4c569b 100644
--- a/lib/facter/debian_nextcodename.rb
+++ b/lib/facter/debian_nextcodename.rb
@@ -8,11 +8,10 @@ def debian_codename_to_next(codename)
if codename == "sid"
return "experimental"
else
- codenames = Facter::Util::Debian::CODENAMES.values
- i = codenames.index(codename)
- if i and i+1 < codenames.count
- return codenames[i+1]
- end
+ codenames = Facter::Util::Debian::CODENAMES
+ versions = Facter::Util::Debian::CODENAMES.invert
+ current_version = versions[codename]
+ return codenames[(current_version.to_i + 1).to_s]
end
end
diff --git a/lib/facter/ubuntu_nextcodename.rb b/lib/facter/ubuntu_nextcodename.rb
index ba985bf..dcd1d42 100644
--- a/lib/facter/ubuntu_nextcodename.rb
+++ b/lib/facter/ubuntu_nextcodename.rb
@@ -1,7 +1,7 @@
begin
require 'facter/util/ubuntu'
rescue LoadError
- require "#{File.dirname(__FILE__)}/util/debian"
+ require "#{File.dirname(__FILE__)}/util/ubuntu"
end
def ubuntu_codename_to_next(codename)
diff --git a/lib/facter/util/ubuntu.rb b/lib/facter/util/ubuntu.rb
index 1b2411a..52c15e8 100644
--- a/lib/facter/util/ubuntu.rb
+++ b/lib/facter/util/ubuntu.rb
@@ -14,6 +14,7 @@ module Facter
"utopic",
"vivid",
"wily",
+ "xenial"
]
end
end
diff --git a/manifests/init.pp b/manifests/init.pp
index 6732ade..1e7ddd7 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -123,17 +123,14 @@ class apt(
mode => '0755',
}
exec { 'custom_keys':
- command => "find ${apt_base_dir}/keys.d -type f -exec apt-key add '{}' \\; && /usr/bin/apt-get update",
+ command => "find ${apt_base_dir}/keys.d -type f -exec apt-key add '{}' \\;",
subscribe => File["${apt_base_dir}/keys.d"],
refreshonly => true,
+ notify => Exec[refresh_apt]
}
if $custom_preferences != false {
Exec['custom_keys'] {
- before => [ Exec[refresh_apt], File['apt_config'] ]
- }
- } else {
- Exec['custom_keys'] {
- before => Exec[refresh_apt]
+ before => File['apt_config']
}
}
}
diff --git a/manifests/preferences_snippet.pp b/manifests/preferences_snippet.pp
index 0c7b7bb..99feac4 100644
--- a/manifests/preferences_snippet.pp
+++ b/manifests/preferences_snippet.pp
@@ -31,7 +31,8 @@ define apt::preferences_snippet (
file { "/etc/apt/preferences.d/${name}":
ensure => $ensure,
- owner => root, group => 0, mode => '0644';
+ owner => root, group => 0, mode => '0644',
+ before => Exec['refresh_apt'];
}
case $source {
diff --git a/spec/unit/custom_facts_spec.rb b/spec/unit/custom_facts_spec.rb
index 2d36bd7..9a28d92 100644
--- a/spec/unit/custom_facts_spec.rb
+++ b/spec/unit/custom_facts_spec.rb
@@ -21,6 +21,14 @@ describe "Facter::Util::Fact" do
it "debian_codename = wheezy" do
expect(Facter.fact(:debian_codename).value).to eq('wheezy')
end
+
+ it "debian_nextcodename = jessie" do
+ expect(Facter.fact(:debian_nextcodename).value).to eq('jessie')
+ end
+
+ it "debian_nextrelease = stable" do
+ expect(Facter.fact(:debian_nextrelease).value).to eq('stable')
+ end
end
context 'Debian 8' do
@@ -37,20 +45,31 @@ describe "Facter::Util::Fact" do
it "debian_codename = jessie" do
expect(Facter.fact(:debian_codename).value).to eq('jessie')
end
+
+ it "debian_nextcodename = stretch" do
+ expect(Facter.fact(:debian_nextcodename).value).to eq('stretch')
+ end
+
+ it "debian_nextrelease = testing" do
+ expect(Facter.fact(:debian_nextrelease).value).to eq('testing')
+ end
end
context 'Ubuntu 15.10' do
before do
Facter.fact(:operatingsystem).stubs(:value).returns("Ubuntu")
Facter.fact(:operatingsystemrelease).stubs(:value).returns("15.10")
- Facter.fact(:lsbdistcodename).stubs(:value).returns("Vivid")
+ Facter.fact(:lsbdistcodename).stubs(:value).returns("wily")
end
- it "ubuntu_codename = Vivid" do
- expect(Facter.fact(:ubuntu_codename).value).to eq('Vivid')
+ it "ubuntu_codename = wily" do
+ expect(Facter.fact(:ubuntu_codename).value).to eq('wily')
end
- end
+ it "ubuntu_nextcodename = xenial" do
+ expect(Facter.fact(:ubuntu_nextcodename).value).to eq('xenial')
+ end
+ end
end
describe "Test 'apt_running' fact" do