diff --git a/.travis.yml b/.travis.yml index ba588c7..6dcd006 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,8 @@ language: ruby rvm: - - 1.8.7 - 1.9.3 - 2.0.0 + - 2.1 before_install: rm Gemfile.lock || true script: - "bundle exec rake lint" @@ -15,6 +15,23 @@ env: - PUPPET_VERSION="~> 3.2.0" - PUPPET_VERSION="~> 3.3.0" - PUPPET_VERSION="~> 3.4.0" + - PUPPET_VERSION="~> 3.5.0" matrix: - allow_failures: - - rvm: 2.0.0 + exclude: + - rvm: 1.9.3 + env: PUPPET_VERSION="~> 2.7.0" + - rvm: 2.0.0 + env: PUPPET_VERSION="~> 2.7.0" + - rvm: 2.0.0 + env: PUPPET_VERSION="~> 3.1.0" + - rvm: 2.1 + env: PUPPET_VERSION="~> 2.7.0" + - rvm: 2.1 + env: PUPPET_VERSION="~> 3.1.0" + - rvm: 2.1 + env: PUPPET_VERSION="~> 3.2.0" + - rvm: 2.1 + env: PUPPET_VERSION="~> 3.3.0" + - rvm: 2.1 + env: PUPPET_VERSION="~> 3.4.0" + diff --git a/Gemfile b/Gemfile index b768425..e5da386 100644 --- a/Gemfile +++ b/Gemfile @@ -3,8 +3,8 @@ source 'https://rubygems.org' puppetversion = ENV['PUPPET_VERSION'] || '~> 3.7.0' gem 'puppet', puppetversion, :require => false -gem 'beaker', :git => 'git@github.com:puppetlabs/beaker.git', :branch => 'master' -gem 'beaker-rspec', :git => 'git@github.com:puppetlabs/beaker-rspec.git', :branch => 'master' +gem 'beaker', :git => 'https://github.com/puppetlabs/beaker.git', :branch => 'master' +gem 'beaker-rspec', :git => 'https://github.com/puppetlabs/beaker-rspec.git', :branch => 'master' gem 'metadata-json-lint', :git => 'https://github.com/nibalizer/metadata-json-lint.git', :branch => 'master' gem 'rspec-puppet', :git => 'https://github.com/rodjek/rspec-puppet.git', :branch => 'master' diff --git a/manifests/config.pp b/manifests/config.pp index cc1fa3d..0644292 100644 --- a/manifests/config.pp +++ b/manifests/config.pp @@ -123,7 +123,7 @@ logstashforwarder_config { 'lsf-config': ensure => 'present', config => $main_config, - path => '/etc/logstash-forwarder.conf', + path => "${logstashforwarder::configdir}/${logstashforwarder::lsf_name}.conf", tag => "LSF_CONFIG_${::fqdn}", owner => $logstashforwarder::logstashforwarder_user, group => $logstashforwarder::logstashforwarder_group, diff --git a/manifests/init.pp b/manifests/init.pp index fbe03d3..fb4a558 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -20,6 +20,10 @@ # * This is thus destructive and should be used with care. # Defaults to present. # +# [*lsf_name*] +# String. Set the name used in any situations to avoid gap of naming. +# Defaults to logstash-forwarder. +# # [*autoupgrade*] # Boolean. If set to true, any managed package gets upgraded # on each Puppet run when the package provider is able to find a newer @@ -154,6 +158,7 @@ # class logstashforwarder( $ensure = $logstashforwarder::params::ensure, + $lsf_name = $logstashforwarder::params::lsf_name, $servers = undef, $ssl_cert = undef, $ssl_key = undef, diff --git a/manifests/params.pp b/manifests/params.pp index 06cc955..d297945 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -34,6 +34,9 @@ # ensure $ensure = 'present' + # Name to use instead of hardcoded name + $lsf_name = 'logstash-forwarder' + # autoupgrade $autoupgrade = false @@ -89,12 +92,12 @@ # Different path definitions case $::kernel { 'Linux': { - $configdir = '/etc/logstashforwarder' - $package_dir = '/opt/logstashforwarder/swdl' - $installpath = '/opt/logstashforwarder' + $configdir = "/etc/${lsf_name}" + $package_dir = "/opt/${lsf_name}/swdl" + $installpath = "/opt/${lsf_name}" } 'Darwin': { - $configdir = '/Library/Application Support/Logstashforwarder' + $configdir = '/Library/Application Support/Logstashforwarder' $package_dir = '/Library/Logstashforwarder/swdl' $installpath = '/Library/Logstashforwarder' } @@ -123,7 +126,7 @@ # service parameters case $::operatingsystem { 'RedHat', 'CentOS', 'Fedora', 'Scientific', 'Amazon', 'OracleLinux': { - $service_name = 'logstash-forwarder' + $service_name = $lsf_name $service_hasrestart = true $service_hasstatus = true $service_pattern = $service_name @@ -131,7 +134,7 @@ $defaults_location = '/etc/sysconfig' } 'Debian', 'Ubuntu': { - $service_name = 'logstash-forwarder' + $service_name = $lsf_name $service_hasrestart = true $service_hasstatus = true $service_pattern = $service_name diff --git a/manifests/repo.pp b/manifests/repo.pp index d97462b..b75f4f2 100644 --- a/manifests/repo.pp +++ b/manifests/repo.pp @@ -39,7 +39,7 @@ location => 'http://packages.elasticsearch.org/logstashforwarder/debian', release => 'stable', repos => 'main', - key => 'D88E42B4', + key => '46095ACC8548582C1A2699A9D27D666CD88E42B4', key_source => 'http://packages.elasticsearch.org/GPG-KEY-elasticsearch', include_src => false, } diff --git a/spec/classes/001_logstashforwarder_init_spec.rb b/spec/classes/001_logstashforwarder_init_spec.rb index f70c165..f5b903d 100644 --- a/spec/classes/001_logstashforwarder_init_spec.rb +++ b/spec/classes/001_logstashforwarder_init_spec.rb @@ -46,8 +46,8 @@ it { should contain_class('logstashforwarder::config').that_requires('Class[logstashforwarder::package]') } it { should contain_class('logstashforwarder::service').that_requires('Class[logstashforwarder::package]').that_requires('Class[logstashforwarder::config]') } - it { should contain_file('/etc/logstashforwarder') } - it { should contain_file('/etc/logstashforwarder/ssl') } + it { should contain_file('/etc/logstash-forwarder') } + it { should contain_file('/etc/logstash-forwarder/ssl') } it { should contain_logstashforwarder_config('lsf-config') } end @@ -108,10 +108,10 @@ }) } - it { should contain_exec('create_package_dir_logstashforwarder').with(:command => 'mkdir -p /opt/logstashforwarder/swdl') } - it { should contain_file('/opt/logstashforwarder/swdl/').with(:purge => false, :force => false, :require => "Exec[create_package_dir_logstashforwarder]") } - it { should contain_file("/opt/logstashforwarder/swdl/package.#{pkg_ext}").with(:source => "puppet:///path/to/package.#{pkg_ext}", :backup => false) } - it { should contain_package('logstash-forwarder').with(:ensure => 'present', :source => "/opt/logstashforwarder/swdl/package.#{pkg_ext}", :provider => pkg_prov) } + it { should contain_exec('create_package_dir_logstashforwarder').with(:command => 'mkdir -p /opt/logstash-forwarder/swdl') } + it { should contain_file('/opt/logstash-forwarder/swdl/').with(:purge => false, :force => false, :require => "Exec[create_package_dir_logstashforwarder]") } + it { should contain_file("/opt/logstash-forwarder/swdl/package.#{pkg_ext}").with(:source => "puppet:///path/to/package.#{pkg_ext}", :backup => false) } + it { should contain_package('logstash-forwarder').with(:ensure => 'present', :source => "/opt/logstash-forwarder/swdl/package.#{pkg_ext}", :provider => pkg_prov) } end context 'using http:// schema' do @@ -122,10 +122,10 @@ }) } - it { should contain_exec('create_package_dir_logstashforwarder').with(:command => 'mkdir -p /opt/logstashforwarder/swdl') } - it { should contain_file('/opt/logstashforwarder/swdl/').with(:purge => false, :force => false, :require => "Exec[create_package_dir_logstashforwarder]") } - it { should contain_exec('download_package_logstashforwarder').with(:command => "wget -O /opt/logstashforwarder/swdl/package.#{pkg_ext} http://www.domain.com/path/to/package.#{pkg_ext} 2> /dev/null", :require => 'File[/opt/logstashforwarder/swdl]') } - it { should contain_package('logstash-forwarder').with(:ensure => 'present', :source => "/opt/logstashforwarder/swdl/package.#{pkg_ext}", :provider => pkg_prov) } + it { should contain_exec('create_package_dir_logstashforwarder').with(:command => 'mkdir -p /opt/logstash-forwarder/swdl') } + it { should contain_file('/opt/logstash-forwarder/swdl/').with(:purge => false, :force => false, :require => "Exec[create_package_dir_logstashforwarder]") } + it { should contain_exec('download_package_logstashforwarder').with(:command => "wget -O /opt/logstash-forwarder/swdl/package.#{pkg_ext} http://www.domain.com/path/to/package.#{pkg_ext} 2> /dev/null", :require => 'File[/opt/logstash-forwarder/swdl]') } + it { should contain_package('logstash-forwarder').with(:ensure => 'present', :source => "/opt/logstash-forwarder/swdl/package.#{pkg_ext}", :provider => pkg_prov) } end context 'using https:// schema' do @@ -136,10 +136,10 @@ }) } - it { should contain_exec('create_package_dir_logstashforwarder').with(:command => 'mkdir -p /opt/logstashforwarder/swdl') } - it { should contain_file('/opt/logstashforwarder/swdl').with(:purge => false, :force => false, :require => 'Exec[create_package_dir_logstashforwarder]') } - it { should contain_exec('download_package_logstashforwarder').with(:command => "wget -O /opt/logstashforwarder/swdl/package.#{pkg_ext} https://www.domain.com/path/to/package.#{pkg_ext} 2> /dev/null", :require => 'File[/opt/logstashforwarder/swdl]') } - it { should contain_package('logstash-forwarder').with(:ensure => 'present', :source => "/opt/logstashforwarder/swdl/package.#{pkg_ext}", :provider => pkg_prov) } + it { should contain_exec('create_package_dir_logstashforwarder').with(:command => 'mkdir -p /opt/logstash-forwarder/swdl') } + it { should contain_file('/opt/logstash-forwarder/swdl').with(:purge => false, :force => false, :require => 'Exec[create_package_dir_logstashforwarder]') } + it { should contain_exec('download_package_logstashforwarder').with(:command => "wget -O /opt/logstash-forwarder/swdl/package.#{pkg_ext} https://www.domain.com/path/to/package.#{pkg_ext} 2> /dev/null", :require => 'File[/opt/logstash-forwarder/swdl]') } + it { should contain_package('logstash-forwarder').with(:ensure => 'present', :source => "/opt/logstash-forwarder/swdl/package.#{pkg_ext}", :provider => pkg_prov) } end context 'using ftp:// schema' do @@ -150,10 +150,10 @@ }) } - it { should contain_exec('create_package_dir_logstashforwarder').with(:command => 'mkdir -p /opt/logstashforwarder/swdl') } - it { should contain_file('/opt/logstashforwarder/swdl').with(:purge => false, :force => false, :require => 'Exec[create_package_dir_logstashforwarder]') } - it { should contain_exec('download_package_logstashforwarder').with(:command => "wget -O /opt/logstashforwarder/swdl/package.#{pkg_ext} ftp://www.domain.com/path/to/package.#{pkg_ext} 2> /dev/null", :require => 'File[/opt/logstashforwarder/swdl]') } - it { should contain_package('logstash-forwarder').with(:ensure => 'present', :source => "/opt/logstashforwarder/swdl/package.#{pkg_ext}", :provider => pkg_prov) } + it { should contain_exec('create_package_dir_logstashforwarder').with(:command => 'mkdir -p /opt/logstash-forwarder/swdl') } + it { should contain_file('/opt/logstash-forwarder/swdl').with(:purge => false, :force => false, :require => 'Exec[create_package_dir_logstashforwarder]') } + it { should contain_exec('download_package_logstashforwarder').with(:command => "wget -O /opt/logstash-forwarder/swdl/package.#{pkg_ext} ftp://www.domain.com/path/to/package.#{pkg_ext} 2> /dev/null", :require => 'File[/opt/logstash-forwarder/swdl]') } + it { should contain_package('logstash-forwarder').with(:ensure => 'present', :source => "/opt/logstash-forwarder/swdl/package.#{pkg_ext}", :provider => pkg_prov) } end context 'using file:// schema' do @@ -164,10 +164,10 @@ }) } - it { should contain_exec('create_package_dir_logstashforwarder').with(:command => 'mkdir -p /opt/logstashforwarder/swdl') } - it { should contain_file('/opt/logstashforwarder/swdl').with(:purge => false, :force => false, :require => 'Exec[create_package_dir_logstashforwarder]') } - it { should contain_file("/opt/logstashforwarder/swdl/package.#{pkg_ext}").with(:source => "/path/to/package.#{pkg_ext}", :backup => false) } - it { should contain_package('logstash-forwarder').with(:ensure => 'present', :source => "/opt/logstashforwarder/swdl/package.#{pkg_ext}", :provider => pkg_prov) } + it { should contain_exec('create_package_dir_logstashforwarder').with(:command => 'mkdir -p /opt/logstash-forwarder/swdl') } + it { should contain_file('/opt/logstash-forwarder/swdl').with(:purge => false, :force => false, :require => 'Exec[create_package_dir_logstashforwarder]') } + it { should contain_file("/opt/logstash-forwarder/swdl/package.#{pkg_ext}").with(:source => "/path/to/package.#{pkg_ext}", :backup => false) } + it { should contain_package('logstash-forwarder').with(:ensure => 'present', :source => "/opt/logstash-forwarder/swdl/package.#{pkg_ext}", :provider => pkg_prov) } end end @@ -282,7 +282,7 @@ }) } - it { should contain_file('/etc/logstashforwarder').with(:ensure => 'absent', :force => true, :recurse => true) } + it { should contain_file('/etc/logstash-forwarder').with(:ensure => 'absent', :force => true, :recurse => true) } it { should contain_package('logstash-forwarder').with(:ensure => 'purged') } it { should contain_service('logstash-forwarder').with(:ensure => 'stopped', :enable => false) }