diff --git a/.travis.yml b/.travis.yml index c288e0d..be395a9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,6 +11,6 @@ rvm: - 1.9.3 - 2.0.0 language: ruby -before_script: "gem install --no-ri --no-rdoc bundler" +before_script: 'gem install --no-ri --no-rdoc bundler' script: 'bundle exec rake validate && bundle exec rake lint && SPEC_OPTS="--format documentation" bundle exec rake spec' gemfile: Gemfile diff --git a/Gemfile b/Gemfile index 0a648da..7bd34cd 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,7 @@ -source "https://rubygems.org" +source 'https://rubygems.org' puppetversion = ENV.key?('PUPPET_VERSION') ? "= #{ENV['PUPPET_VERSION']}" : ['>= 3.3'] gem 'puppet', puppetversion gem 'puppetlabs_spec_helper', '>= 0.1.0' gem 'puppet-lint', '>= 0.3.2' -gem 'facter', '>= 1.7.0', "< 1.8.0" +gem 'facter', '>= 1.7.0' diff --git a/Rakefile b/Rakefile index 0a28d84..dfa83c4 100644 --- a/Rakefile +++ b/Rakefile @@ -1,10 +1,9 @@ -require 'rubygems' require 'puppetlabs_spec_helper/rake_tasks' require 'puppet-lint/tasks/puppet-lint' PuppetLint.configuration.send('disable_80chars') PuppetLint.configuration.ignore_paths = ["spec/**/*.pp", "pkg/**/*.pp"] -desc "Run puppet in noop mode and check for syntax errors." +desc 'Run puppet in noop mode and check for syntax errors.' task :validate do Dir['manifests/**/*.pp'].each do |manifest| sh "puppet parser validate --noop #{manifest}" diff --git a/manifests/init.pp b/manifests/init.pp index 4da6b66..182fb02 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -147,14 +147,7 @@ class ssh ( $default_sshd_config_serverkeybits = '1024' } 'Solaris': { - $default_packages = ['SUNWsshcu', - 'SUNWsshdr', - 'SUNWsshdu', - 'SUNWsshr', - 'SUNWsshu'] $default_ssh_config_hash_known_hosts = undef - $default_ssh_package_source = '/var/spool/pkg' - $default_ssh_package_adminfile = undef $default_ssh_sendenv = false $default_ssh_config_forward_x11_trusted = undef $default_sshd_config_subsystem_sftp = '/usr/lib/ssh/sftp-server' @@ -167,14 +160,35 @@ class ssh ( $default_sshd_gssapicleanupcredentials = undef $default_sshd_acceptenv = false $default_sshd_config_serverkeybits = '768' + $default_ssh_package_adminfile = undef case $::kernelrelease { - '5.10','5.11': { - $default_service_name = 'ssh' - $default_service_hasstatus = true + '5.11': { + $default_packages = ['network/ssh', + 'network/ssh/ssh-key', + 'service/network/ssh'] + $default_service_name = 'ssh' + $default_service_hasstatus = true + $default_ssh_package_source = undef + } + '5.10': { + $default_packages = ['SUNWsshcu', + 'SUNWsshdr', + 'SUNWsshdu', + 'SUNWsshr', + 'SUNWsshu'] + $default_service_name = 'ssh' + $default_service_hasstatus = true + $default_ssh_package_source = '/var/spool/pkg' } '5.9' : { - $default_service_name = 'sshd' - $default_service_hasstatus = false + $default_packages = ['SUNWsshcu', + 'SUNWsshdr', + 'SUNWsshdu', + 'SUNWsshr', + 'SUNWsshu'] + $default_service_name = 'sshd' + $default_service_hasstatus = false + $default_ssh_package_source = '/var/spool/pkg' } default: { fail('ssh module supports Solaris kernel release 5.9, 5.10 and 5.11.') diff --git a/spec/classes/init_spec.rb b/spec/classes/init_spec.rb index 6f98d7a..0ee0765 100644 --- a/spec/classes/init_spec.rb +++ b/spec/classes/init_spec.rb @@ -139,12 +139,10 @@ describe 'ssh' do it { should_not contain_class('common')} - ['SUNWsshcu','SUNWsshdr','SUNWsshdu','SUNWsshr','SUNWsshu'].each do |pkg| + ['network/ssh','network/ssh/ssh-key','service/network/ssh'].each do |pkg| it { should contain_package(pkg).with({ 'ensure' => 'installed', - 'source' => '/var/spool/pkg', - 'adminfile' => nil, }) } end @@ -156,7 +154,7 @@ describe 'ssh' do 'owner' => 'root', 'group' => 'root', 'mode' => '0644', - 'require' => [ 'Package[SUNWsshcu]', 'Package[SUNWsshdr]', 'Package[SUNWsshdu]', 'Package[SUNWsshr]', 'Package[SUNWsshu]' ], + 'require' => [ 'Package[network/ssh]', 'Package[network/ssh/ssh-key]', 'Package[service/network/ssh]' ], }) } @@ -179,7 +177,7 @@ describe 'ssh' do 'owner' => 'root', 'group' => 'root', 'mode' => '0644', - 'require' => [ 'Package[SUNWsshcu]', 'Package[SUNWsshdr]', 'Package[SUNWsshdu]', 'Package[SUNWsshr]', 'Package[SUNWsshu]' ], + 'require' => [ 'Package[network/ssh]', 'Package[network/ssh/ssh-key]', 'Package[service/network/ssh]' ], }) } @@ -1580,7 +1578,7 @@ describe 'ssh' do let :facts do { :fqdn => 'monkey.example.com', :osfamily => 'Solaris', - :kernelrelease => '5.11', + :kernelrelease => '5.10', :sshrsakey => 'AAAAB3NzaC1yc2EAAAABIwAAAQEArGElx46pD6NNnlxVaTbp0ZJMgBKCmbTCT3RaeCk0ZUJtQ8wkcwTtqIXmmiuFsynUT0DFSd8UIodnBOPqitimmooAVAiAi30TtJVzADfPScMiUnBJKZajIBkEMkwUcqsfh630jyBvLPE/kyQcxbEeGtbu1DG3monkeymanOBW1AKc5o+cJLXcInLnbowMG7NXzujT3BRYn/9s5vtT1V9cuZJs4XLRXQ50NluxJI7sVfRPVvQI9EMbTS4AFBXUej3yfgaLSV+nPZC/lmJ2gR4t/tKvMFF9m16f8IcZKK7o0rK7v81G/tREbOT5YhcKLK+0wBfR6RsmHzwy4EddZloyLQ==' } end @@ -1601,7 +1599,7 @@ describe 'ssh' do let :facts do { :fqdn => 'monkey.example.com', :osfamily => 'Solaris', - :kernelrelease => '5.11', + :kernelrelease => '5.10', :sshrsakey => 'AAAAB3NzaC1yc2EAAAABIwAAAQEArGElx46pD6NNnlxVaTbp0ZJMgBKCmbTCT3RaeCk0ZUJtQ8wkcwTtqIXmmiuFsynUT0DFSd8UIodnBOPqitimmooAVAiAi30TtJVzADfPScMiUnBJKZajIBkEMkwUcqsfh630jyBvLPE/kyQcxbEeGtbu1DG3monkeymanOBW1AKc5o+cJLXcInLnbowMG7NXzujT3BRYn/9s5vtT1V9cuZJs4XLRXQ50NluxJI7sVfRPVvQI9EMbTS4AFBXUej3yfgaLSV+nPZC/lmJ2gR4t/tKvMFF9m16f8IcZKK7o0rK7v81G/tREbOT5YhcKLK+0wBfR6RsmHzwy4EddZloyLQ==' } end @@ -1660,7 +1658,7 @@ describe 'ssh' do let(:facts) do { :fqdn => 'monkey.example.com', :osfamily => 'Solaris', - :kernelrelease => '5.11', + :kernelrelease => '5.10', :sshrsakey => 'AAAAB3NzaC1yc2EAAAABIwAAAQEArGElx46pD6NNnlxVaTbp0ZJMgBKCmbTCT3RaeCk0ZUJtQ8wkcwTtqIXmmiuFsynUT0DFSd8UIodnBOPqitimmooAVAiAi30TtJVzADfPScMiUnBJKZajIBkEMkwUcqsfh630jyBvLPE/kyQcxbEeGtbu1DG3monkeymanOBW1AKc5o+cJLXcInLnbowMG7NXzujT3BRYn/9s5vtT1V9cuZJs4XLRXQ50NluxJI7sVfRPVvQI9EMbTS4AFBXUej3yfgaLSV+nPZC/lmJ2gR4t/tKvMFF9m16f8IcZKK7o0rK7v81G/tREbOT5YhcKLK+0wBfR6RsmHzwy4EddZloyLQ==' } end @@ -1681,7 +1679,7 @@ describe 'ssh' do let(:facts) do { :fqdn => 'monkey.example.com', :osfamily => 'Solaris', - :kernelrelease => '5.11', + :kernelrelease => '5.10', :sshrsakey => 'AAAAB3NzaC1yc2EAAAABIwAAAQEArGElx46pD6NNnlxVaTbp0ZJMgBKCmbTCT3RaeCk0ZUJtQ8wkcwTtqIXmmiuFsynUT0DFSd8UIodnBOPqitimmooAVAiAi30TtJVzADfPScMiUnBJKZajIBkEMkwUcqsfh630jyBvLPE/kyQcxbEeGtbu1DG3monkeymanOBW1AKc5o+cJLXcInLnbowMG7NXzujT3BRYn/9s5vtT1V9cuZJs4XLRXQ50NluxJI7sVfRPVvQI9EMbTS4AFBXUej3yfgaLSV+nPZC/lmJ2gR4t/tKvMFF9m16f8IcZKK7o0rK7v81G/tREbOT5YhcKLK+0wBfR6RsmHzwy4EddZloyLQ==' } end @@ -1696,7 +1694,7 @@ describe 'ssh' do let(:facts) do { :fqdn => 'monkey.example.com', :osfamily => 'Solaris', - :kernelrelease => '5.11', + :kernelrelease => '5.10', :sshrsakey => 'AAAAB3NzaC1yc2EAAAABIwAAAQEArGElx46pD6NNnlxVaTbp0ZJMgBKCmbTCT3RaeCk0ZUJtQ8wkcwTtqIXmmiuFsynUT0DFSd8UIodnBOPqitimmooAVAiAi30TtJVzADfPScMiUnBJKZajIBkEMkwUcqsfh630jyBvLPE/kyQcxbEeGtbu1DG3monkeymanOBW1AKc5o+cJLXcInLnbowMG7NXzujT3BRYn/9s5vtT1V9cuZJs4XLRXQ50NluxJI7sVfRPVvQI9EMbTS4AFBXUej3yfgaLSV+nPZC/lmJ2gR4t/tKvMFF9m16f8IcZKK7o0rK7v81G/tREbOT5YhcKLK+0wBfR6RsmHzwy4EddZloyLQ==' } end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index dc7e9f4..2c6f566 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,2 +1 @@ -require 'rubygems' require 'puppetlabs_spec_helper/module_spec_helper'