From 537c1b23d58707eadf90f06c5c2d616055fef804 Mon Sep 17 00:00:00 2001 From: Andrew Smith Date: Fri, 28 Jul 2017 13:13:53 -0400 Subject: [PATCH] Update ensurable for qdr types and directory These updates were found to be necessary for puppet-opentstack-integration scenario to run succesfully. This patch: *pass block to ensurable for qdr types *add routerd log directory Change-Id: If06b558ac6c1b2a926b10de389e6af23cec84d28 --- lib/puppet/type/qdr_address.rb | 10 +++++++++- lib/puppet/type/qdr_connector.rb | 10 +++++++++- lib/puppet/type/qdr_listener.rb | 10 +++++++++- lib/puppet/type/qdr_log.rb | 10 +++++++++- lib/puppet/type/qdr_user.rb | 10 +++++++++- manifests/config.pp | 10 +++++++++- spec/classes/init_spec.rb | 17 ++++++++++++++--- 7 files changed, 68 insertions(+), 9 deletions(-) diff --git a/lib/puppet/type/qdr_address.rb b/lib/puppet/type/qdr_address.rb index 23c1607..5f60062 100644 --- a/lib/puppet/type/qdr_address.rb +++ b/lib/puppet/type/qdr_address.rb @@ -1,7 +1,15 @@ Puppet::Type.newtype(:qdr_address) do desc "Type for managing qdrouterd address prefixes for distribution and phasing" - ensurable + ensurable do + defaultto(:present) + newvalue(:present) do + provider.create + end + newvalue(:absent) do + provider.destroy + end + end autorequire(:service) { 'qdrouterd' } diff --git a/lib/puppet/type/qdr_connector.rb b/lib/puppet/type/qdr_connector.rb index 2b9c9e6..9588691 100644 --- a/lib/puppet/type/qdr_connector.rb +++ b/lib/puppet/type/qdr_connector.rb @@ -1,7 +1,15 @@ Puppet::Type.newtype(:qdr_connector) do desc "Type for managing qdrouterd connection instances" - ensurable + ensurable do + defaultto(:present) + newvalue(:present) do + provider.create + end + newvalue(:absent) do + provider.destroy + end + end autorequire(:service) { 'qdrouterd' } diff --git a/lib/puppet/type/qdr_listener.rb b/lib/puppet/type/qdr_listener.rb index c95847e..f480eb6 100644 --- a/lib/puppet/type/qdr_listener.rb +++ b/lib/puppet/type/qdr_listener.rb @@ -1,7 +1,15 @@ Puppet::Type.newtype(:qdr_listener) do desc "Type for managing qdrouterd listener instances" - ensurable + ensurable do + defaultto(:present) + newvalue(:present) do + provider.create + end + newvalue(:absent) do + provider.destroy + end + end autorequire(:service) { 'qdrouterd' } diff --git a/lib/puppet/type/qdr_log.rb b/lib/puppet/type/qdr_log.rb index 36a25f5..a8ea356 100644 --- a/lib/puppet/type/qdr_log.rb +++ b/lib/puppet/type/qdr_log.rb @@ -1,7 +1,15 @@ Puppet::Type.newtype(:qdr_log) do desc "Type for managing qdrouterd module log instances" - ensurable + ensurable do + defaultto(:present) + newvalue(:present) do + provider.create + end + newvalue(:absent) do + provider.destroy + end + end autorequire(:service) { 'qdrouterd' } diff --git a/lib/puppet/type/qdr_user.rb b/lib/puppet/type/qdr_user.rb index 8c59701..7f3d4e7 100644 --- a/lib/puppet/type/qdr_user.rb +++ b/lib/puppet/type/qdr_user.rb @@ -1,7 +1,15 @@ Puppet::Type.newtype(:qdr_user) do desc "Type for managing qdr users such as with sasl provider, etc." - ensurable + ensurable do + defaultto(:present) + newvalue(:present) do + provider.create + end + newvalue(:absent) do + provider.destroy + end + end autorequire(:service) { 'qdrouterd' } diff --git a/manifests/config.pp b/manifests/config.pp index 985ba35..8ada820 100644 --- a/manifests/config.pp +++ b/manifests/config.pp @@ -7,13 +7,14 @@ class qdr::config inherits qdr { $service_config_path = $::qdr::params::service_config_path $service_home = $::qdr::params::service_home $log_output = $::qdr::log_output + $router_debug_dump = $::qdr::router_debug_dump $service_config_template = 'qdr/qdrouterd.conf.erb' file { $service_home : ensure => directory, owner => '0', group => '0', - mode => '0644', + mode => '0755', } file { '/etc/qpid-dispatch' : @@ -40,6 +41,13 @@ class qdr::config inherits qdr { notify => Class['qdr::service'], } + file { $router_debug_dump : + ensure => directory, + owner => '0', + group => '0', + mode => '0766', + } + file { $log_output : ensure => file, owner => '0', diff --git a/spec/classes/init_spec.rb b/spec/classes/init_spec.rb index f45522c..92937c4 100644 --- a/spec/classes/init_spec.rb +++ b/spec/classes/init_spec.rb @@ -23,7 +23,7 @@ describe 'qdr' do :ensure => :directory, :owner => '0', :group => '0', - :mode => '0644', + :mode => '0755', }) end @@ -54,6 +54,15 @@ describe 'qdr' do }) end + it do + should contain_file(platform_params[:router_debug_dump]).with({ + :ensure => :directory, + :owner => '0', + :group => '0', + :mode => '0766', + }) + end + it do should contain_service(platform_params[:service_name]).with({ :ensure => 'running', @@ -139,14 +148,16 @@ describe 'qdr' do { :qdr_package_name => 'qdrouterd', :service_name => 'qdrouterd', :sasl_package_list => ['sasl2-bin'], - :service_home => '/var/lib/qdrouterd'} + :service_home => '/var/lib/qdrouterd', + :router_debug_dump => '/var/log/qdrouterd'} end when 'RedHat' let (:platform_params) do { :qdr_package_name => 'qpid-dispatch-router', :service_name => 'qdrouterd', :sasl_package_list => ['cyrus-sasl-lib','cyrus-sasl-plain'], - :service_home => '/var/lib/qdrouterd'} + :service_home => '/var/lib/qdrouterd', + :router_debug_dump => '/var/log/qdrouterd'} end end