diff --git a/.kitchen.yml b/.kitchen.yml index a9f14c7..fc679cf 100644 --- a/.kitchen.yml +++ b/.kitchen.yml @@ -18,3 +18,22 @@ suites: run_list: - recipe[test_tuned::create_provider_apply_profile] attributes: + - name: manage + run_list: + - recipe[tuned::manage] + attributes: + tuned: + enabled_profile: latency-performance + - name: manage-custom + run_list: + - recipe[tuned::manage] + attributes: + tuned: + profile: + myprofile: + vm: + transparent_hugepage: never + transparent_hugepage.defrag: never + main: + include: latency-performance + enabled_profile: myprofile \ No newline at end of file diff --git a/attributes/default.rb b/attributes/default.rb index a0f2a45..50c5340 100644 --- a/attributes/default.rb +++ b/attributes/default.rb @@ -1 +1,3 @@ default['tuned']['profile'] = {} + +default['tuned']['enabled_profile'] = nil # used by recipes/manage.rb diff --git a/test/integration/manage-custom/serverspec/default_spec.rb b/test/integration/manage-custom/serverspec/default_spec.rb new file mode 100644 index 0000000..b9a64a5 --- /dev/null +++ b/test/integration/manage-custom/serverspec/default_spec.rb @@ -0,0 +1,54 @@ +# path to common helper spec when running on test system +require 'spec_helper' + +describe service('tuned') do + it { should be_enabled } +end + +describe service('tuned') do + it { should be_running } +end + +describe package('tuned') do + it { should be_installed } +end + +describe file(libdir + 'myprofile') do + it { should be_directory } +end + +describe file(libdir + 'myprofile/tuned.conf') do + it { should be_mode 644 } +end + +describe file(libdir + 'myprofile/tuned.conf') do + it { should be_owned_by 'root' } +end + +describe file(libdir + 'myprofile/tuned.conf') do + it { should be_grouped_into 'root' } +end + +describe file(libdir + 'myprofile/tuned.conf') do + it { should contain('[vm]').after(/^/) } +end + +describe file(libdir + 'myprofile/tuned.conf') do + it { should contain('transparent_hugepage=never').after(/^/) } +end + +describe file(libdir + 'myprofile/tuned.conf') do + it { should contain('transparent_hugepage.defrag=never').after(/^/) } +end + +describe file(libdir + 'myprofile/tuned.conf') do + it { should contain('[main]').after(/^/) } +end + +describe file(libdir + 'myprofile/tuned.conf') do + it { should contain('include=latency-performance').after(/^/) } +end + +describe command('tuned-adm active') do + its('stdout') { should match (/myprofile/) } +end diff --git a/test/integration/manage-custom/serverspec/spec_helper.rb b/test/integration/manage-custom/serverspec/spec_helper.rb new file mode 100644 index 0000000..56878d4 --- /dev/null +++ b/test/integration/manage-custom/serverspec/spec_helper.rb @@ -0,0 +1,7 @@ +require 'serverspec' + +set :backend, :exec + +def libdir + (os[:release].to_i < 7) ? '/etc/tune-profiles/' : '/usr/lib/tuned/' +end diff --git a/test/integration/manage/serverspec/default_spec.rb b/test/integration/manage/serverspec/default_spec.rb new file mode 100644 index 0000000..adc6e16 --- /dev/null +++ b/test/integration/manage/serverspec/default_spec.rb @@ -0,0 +1,18 @@ +# path to common helper spec when running on test system +require 'spec_helper' + +describe service('tuned') do + it { should be_enabled } +end + +describe service('tuned') do + it { should be_running } +end + +describe package('tuned') do + it { should be_installed } +end + +describe command('tuned-adm active') do + its('stdout') { should match (/latency-performance/) } +end diff --git a/test/integration/manage/serverspec/spec_helper.rb b/test/integration/manage/serverspec/spec_helper.rb new file mode 100644 index 0000000..56878d4 --- /dev/null +++ b/test/integration/manage/serverspec/spec_helper.rb @@ -0,0 +1,7 @@ +require 'serverspec' + +set :backend, :exec + +def libdir + (os[:release].to_i < 7) ? '/etc/tune-profiles/' : '/usr/lib/tuned/' +end