diff --git a/manifests/client.pp b/manifests/client.pp new file mode 100644 index 0000000..dcb51f8 --- /dev/null +++ b/manifests/client.pp @@ -0,0 +1,25 @@ +# +# Installs the glance python library. +# +# == parameters +# [*ensure*] +# (Optional) Ensure state for pachage. +# Defaults to 'present' +# +class freezer::client( + $ensure = 'present' +) { + + include ::freezer::deps + include ::freezer::params + + package { 'python-freezerclient': + ensure => $ensure, + name => $::freezer::params::client_package, + tag => ['openstack', 'freezer-support-package'], +# TODO: vnogin +# Provider should be removed when deb and rpm packages are available + provider => 'pip', + } + +} diff --git a/spec/classes/freezer_client_spec.rb b/spec/classes/freezer_client_spec.rb new file mode 100644 index 0000000..598ccfd --- /dev/null +++ b/spec/classes/freezer_client_spec.rb @@ -0,0 +1,27 @@ +require 'spec_helper' + +describe 'freezer::client' do + + shared_examples 'freezer client' do + it { is_expected.to contain_class('freezer::params') } + it { is_expected.to contain_package('python-freezerclient').with( + :name => 'python-freezerclient', + :ensure => 'present', + :tag => ['openstack', 'freezer-support-package'], + :provider => 'pip', + ) + } + end + + on_supported_os({ + :supported_os => OSDefaults.get_supported_os + }).each do |os,facts| + context "on #{os}" do + let (:facts) do + facts.merge!(OSDefaults.get_facts()) + end + + it_configures 'freezer client' + end + end +end