From 569f38f6060be6e78e794ddc93e143028828d299 Mon Sep 17 00:00:00 2001 From: Norbert Varzariu Date: Mon, 21 Dec 2015 18:39:21 +0100 Subject: [PATCH] remove package files and minor cleanups --- Gemfile.lock | 441 ++++++++++++++++++ TODO | 2 +- manifests/config.pp | 2 +- manifests/init.pp | 10 +- metadata.json | 2 +- pkg/loomsen-rsnapshot-0.1.0.tar.gz | Bin 13188 -> 0 bytes pkg/loomsen-rsnapshot-0.1.0/CONTRIBUTING.md | 135 ------ pkg/loomsen-rsnapshot-0.1.0/Gemfile | 32 -- pkg/loomsen-rsnapshot-0.1.0/README.md | 276 ----------- pkg/loomsen-rsnapshot-0.1.0/Rakefile | 23 - pkg/loomsen-rsnapshot-0.1.0/TODO | 12 - pkg/loomsen-rsnapshot-0.1.0/checksums.json | 26 -- .../parser/functions/assert_empty_hash.rb | 18 - .../lib/puppet/parser/functions/pick_undef.rb | 15 - .../parser/functions/rand_from_array.rb | 37 -- .../manifests/config.pp | 146 ------ pkg/loomsen-rsnapshot-0.1.0/manifests/cron.pp | 7 - pkg/loomsen-rsnapshot-0.1.0/manifests/init.pp | 23 - .../manifests/install.pp | 14 - .../manifests/params.pp | 94 ---- pkg/loomsen-rsnapshot-0.1.0/metadata.json | 69 --- .../nodesets/ubuntu-12.04-x86_64-docker.yml | 12 - .../nodesets/ubuntu-12.04-x86_64-vagrant.yml | 10 - .../nodesets/ubuntu-14.04-x86_64-docker.yml | 12 - .../nodesets/ubuntu-14.04-x86_64-vagrant.yml | 10 - .../spec/classes/init_spec.rb | 37 -- pkg/loomsen-rsnapshot-0.1.0/spec/spec.opts | 6 - .../spec/spec_helper.rb | 29 -- .../templates/cron.erb | 1 - .../templates/rsnapshot.erb | 144 ------ pkg/loomsen-rsnapshot-0.1.0/tests/init.pp | 12 - pkg/loomsen-rsnapshot-0.1.1.tar.gz | Bin 13348 -> 0 bytes pkg/loomsen-rsnapshot-0.1.1/CONTRIBUTING.md | 135 ------ pkg/loomsen-rsnapshot-0.1.1/Gemfile | 32 -- pkg/loomsen-rsnapshot-0.1.1/README.md | 305 ------------ pkg/loomsen-rsnapshot-0.1.1/Rakefile | 23 - pkg/loomsen-rsnapshot-0.1.1/TODO | 0 pkg/loomsen-rsnapshot-0.1.1/checksums.json | 26 -- .../parser/functions/assert_empty_hash.rb | 18 - .../lib/puppet/parser/functions/pick_undef.rb | 15 - .../parser/functions/rand_from_array.rb | 37 -- .../manifests/config.pp | 148 ------ pkg/loomsen-rsnapshot-0.1.1/manifests/cron.pp | 7 - pkg/loomsen-rsnapshot-0.1.1/manifests/init.pp | 23 - .../manifests/install.pp | 14 - .../manifests/params.pp | 94 ---- pkg/loomsen-rsnapshot-0.1.1/metadata.json | 69 --- .../nodesets/ubuntu-12.04-x86_64-docker.yml | 12 - .../nodesets/ubuntu-12.04-x86_64-vagrant.yml | 10 - .../nodesets/ubuntu-14.04-x86_64-docker.yml | 12 - .../nodesets/ubuntu-14.04-x86_64-vagrant.yml | 10 - .../spec/classes/init_spec.rb | 37 -- pkg/loomsen-rsnapshot-0.1.1/spec/spec.opts | 6 - .../spec/spec_helper.rb | 29 -- .../templates/cron.erb | 1 - .../templates/rsnapshot.erb | 144 ------ pkg/loomsen-rsnapshot-0.1.1/tests/init.pp | 12 - 57 files changed, 449 insertions(+), 2427 deletions(-) create mode 100644 Gemfile.lock delete mode 100644 pkg/loomsen-rsnapshot-0.1.0.tar.gz delete mode 100644 pkg/loomsen-rsnapshot-0.1.0/CONTRIBUTING.md delete mode 100644 pkg/loomsen-rsnapshot-0.1.0/Gemfile delete mode 100644 pkg/loomsen-rsnapshot-0.1.0/README.md delete mode 100644 pkg/loomsen-rsnapshot-0.1.0/Rakefile delete mode 100644 pkg/loomsen-rsnapshot-0.1.0/TODO delete mode 100644 pkg/loomsen-rsnapshot-0.1.0/checksums.json delete mode 100644 pkg/loomsen-rsnapshot-0.1.0/lib/puppet/parser/functions/assert_empty_hash.rb delete mode 100644 pkg/loomsen-rsnapshot-0.1.0/lib/puppet/parser/functions/pick_undef.rb delete mode 100644 pkg/loomsen-rsnapshot-0.1.0/lib/puppet/parser/functions/rand_from_array.rb delete mode 100644 pkg/loomsen-rsnapshot-0.1.0/manifests/config.pp delete mode 100644 pkg/loomsen-rsnapshot-0.1.0/manifests/cron.pp delete mode 100644 pkg/loomsen-rsnapshot-0.1.0/manifests/init.pp delete mode 100644 pkg/loomsen-rsnapshot-0.1.0/manifests/install.pp delete mode 100644 pkg/loomsen-rsnapshot-0.1.0/manifests/params.pp delete mode 100644 pkg/loomsen-rsnapshot-0.1.0/metadata.json delete mode 100644 pkg/loomsen-rsnapshot-0.1.0/spec/acceptance/nodesets/ubuntu-12.04-x86_64-docker.yml delete mode 100644 pkg/loomsen-rsnapshot-0.1.0/spec/acceptance/nodesets/ubuntu-12.04-x86_64-vagrant.yml delete mode 100644 pkg/loomsen-rsnapshot-0.1.0/spec/acceptance/nodesets/ubuntu-14.04-x86_64-docker.yml delete mode 100644 pkg/loomsen-rsnapshot-0.1.0/spec/acceptance/nodesets/ubuntu-14.04-x86_64-vagrant.yml delete mode 100644 pkg/loomsen-rsnapshot-0.1.0/spec/classes/init_spec.rb delete mode 100644 pkg/loomsen-rsnapshot-0.1.0/spec/spec.opts delete mode 100644 pkg/loomsen-rsnapshot-0.1.0/spec/spec_helper.rb delete mode 100644 pkg/loomsen-rsnapshot-0.1.0/templates/cron.erb delete mode 100644 pkg/loomsen-rsnapshot-0.1.0/templates/rsnapshot.erb delete mode 100644 pkg/loomsen-rsnapshot-0.1.0/tests/init.pp delete mode 100644 pkg/loomsen-rsnapshot-0.1.1.tar.gz delete mode 100644 pkg/loomsen-rsnapshot-0.1.1/CONTRIBUTING.md delete mode 100644 pkg/loomsen-rsnapshot-0.1.1/Gemfile delete mode 100644 pkg/loomsen-rsnapshot-0.1.1/README.md delete mode 100644 pkg/loomsen-rsnapshot-0.1.1/Rakefile delete mode 100644 pkg/loomsen-rsnapshot-0.1.1/TODO delete mode 100644 pkg/loomsen-rsnapshot-0.1.1/checksums.json delete mode 100644 pkg/loomsen-rsnapshot-0.1.1/lib/puppet/parser/functions/assert_empty_hash.rb delete mode 100644 pkg/loomsen-rsnapshot-0.1.1/lib/puppet/parser/functions/pick_undef.rb delete mode 100644 pkg/loomsen-rsnapshot-0.1.1/lib/puppet/parser/functions/rand_from_array.rb delete mode 100644 pkg/loomsen-rsnapshot-0.1.1/manifests/config.pp delete mode 100644 pkg/loomsen-rsnapshot-0.1.1/manifests/cron.pp delete mode 100644 pkg/loomsen-rsnapshot-0.1.1/manifests/init.pp delete mode 100644 pkg/loomsen-rsnapshot-0.1.1/manifests/install.pp delete mode 100644 pkg/loomsen-rsnapshot-0.1.1/manifests/params.pp delete mode 100644 pkg/loomsen-rsnapshot-0.1.1/metadata.json delete mode 100644 pkg/loomsen-rsnapshot-0.1.1/spec/acceptance/nodesets/ubuntu-12.04-x86_64-docker.yml delete mode 100644 pkg/loomsen-rsnapshot-0.1.1/spec/acceptance/nodesets/ubuntu-12.04-x86_64-vagrant.yml delete mode 100644 pkg/loomsen-rsnapshot-0.1.1/spec/acceptance/nodesets/ubuntu-14.04-x86_64-docker.yml delete mode 100644 pkg/loomsen-rsnapshot-0.1.1/spec/acceptance/nodesets/ubuntu-14.04-x86_64-vagrant.yml delete mode 100644 pkg/loomsen-rsnapshot-0.1.1/spec/classes/init_spec.rb delete mode 100644 pkg/loomsen-rsnapshot-0.1.1/spec/spec.opts delete mode 100644 pkg/loomsen-rsnapshot-0.1.1/spec/spec_helper.rb delete mode 100644 pkg/loomsen-rsnapshot-0.1.1/templates/cron.erb delete mode 100644 pkg/loomsen-rsnapshot-0.1.1/templates/rsnapshot.erb delete mode 100644 pkg/loomsen-rsnapshot-0.1.1/tests/init.pp diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..4e5c07c --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,441 @@ +GIT + remote: https://github.com/rodjek/rspec-puppet.git + revision: 8c1913b2697ee4a60db65607967fbb73226c8bd6 + specs: + rspec-puppet (2.3.0) + rspec + +GEM + remote: https://rubygems.org/ + specs: + CFPropertyList (2.2.8) + activesupport (4.2.5) + i18n (~> 0.7) + json (~> 1.7, >= 1.7.7) + minitest (~> 5.1) + thread_safe (~> 0.3, >= 0.3.4) + tzinfo (~> 1.1) + addressable (2.4.0) + ast (2.2.0) + astrolabe (1.3.1) + parser (~> 2.2) + autoparse (0.3.3) + addressable (>= 2.3.1) + extlib (>= 0.9.15) + multi_json (>= 1.0.0) + aws-sdk (1.66.0) + aws-sdk-v1 (= 1.66.0) + aws-sdk-v1 (1.66.0) + json (~> 1.4) + nokogiri (>= 1.4.4) + backports (3.6.7) + beaker (2.31.0) + aws-sdk (~> 1.57) + beaker-answers (~> 0.0) + beaker-hiera (~> 0.0) + docker-api + fission (~> 0.4) + fog (~> 1.25, < 1.35.0) + fog-google (~> 0.0.9) + google-api-client (~> 0.8) + hocon (~> 0.1) + inifile (~> 2.0) + json (~> 1.8) + mime-types (~> 2.99) + minitest (~> 5.4) + net-scp (~> 1.2) + net-ssh (~> 2.9) + open_uri_redirections (~> 0.2.1) + rbvmomi (~> 1.8) + rsync (~> 1.0.9) + stringify-hash (~> 0.0) + unf (~> 0.1) + beaker-answers (0.3.2) + require_all (~> 1.3.2) + stringify-hash (~> 0.0.0) + beaker-hiera (0.1.1) + stringify-hash (~> 0.0.0) + beaker-puppet_install_helper (0.4.0) + beaker (~> 2.0) + beaker-rspec (5.3.0) + beaker (~> 2.0) + rspec + serverspec (~> 2) + specinfra (~> 2) + builder (3.2.2) + coderay (1.1.0) + colorize (0.7.7) + diff-lcs (1.2.5) + docile (1.1.5) + docker-api (1.24.1) + excon (>= 0.38.0) + json + domain_name (0.5.25) + unf (>= 0.0.5, < 1.0.0) + ethon (0.8.0) + ffi (>= 1.3.0) + excon (0.45.4) + extlib (0.9.16) + facter (2.4.4) + CFPropertyList (~> 2.2.6) + facterdb (0.3.0) + facter + jgrep + json + faraday (0.9.2) + multipart-post (>= 1.2, < 3) + faraday_middleware (0.10.0) + faraday (>= 0.7.4, < 0.10) + ffi (1.9.10) + fission (0.5.0) + CFPropertyList (~> 2.2) + fog (1.34.0) + fog-atmos + fog-aws (>= 0.6.0) + fog-brightbox (~> 0.4) + fog-core (~> 1.32) + fog-dynect (~> 0.0.2) + fog-ecloud (~> 0.1) + fog-google (>= 0.0.2) + fog-json + fog-local + fog-powerdns (>= 0.1.1) + fog-profitbricks + fog-radosgw (>= 0.0.2) + fog-riakcs + fog-sakuracloud (>= 0.0.4) + fog-serverlove + fog-softlayer + fog-storm_on_demand + fog-terremark + fog-vmfusion + fog-voxel + fog-xml (~> 0.1.1) + ipaddress (~> 0.5) + nokogiri (~> 1.5, >= 1.5.11) + fog-atmos (0.1.0) + fog-core + fog-xml + fog-aws (0.7.6) + fog-core (~> 1.27) + fog-json (~> 1.0) + fog-xml (~> 0.1) + ipaddress (~> 0.8) + fog-brightbox (0.10.1) + fog-core (~> 1.22) + fog-json + inflecto (~> 0.0.2) + fog-core (1.35.0) + builder + excon (~> 0.45) + formatador (~> 0.2) + fog-dynect (0.0.2) + fog-core + fog-json + fog-xml + fog-ecloud (0.3.0) + fog-core + fog-xml + fog-google (0.0.9) + fog-core + fog-json + fog-xml + fog-json (1.0.2) + fog-core (~> 1.0) + multi_json (~> 1.10) + fog-local (0.2.1) + fog-core (~> 1.27) + fog-powerdns (0.1.1) + fog-core (~> 1.27) + fog-json (~> 1.0) + fog-xml (~> 0.1) + fog-profitbricks (0.0.5) + fog-core + fog-xml + nokogiri + fog-radosgw (0.0.4) + fog-core (>= 1.21.0) + fog-json + fog-xml (>= 0.0.1) + fog-riakcs (0.1.0) + fog-core + fog-json + fog-xml + fog-sakuracloud (1.7.2) + fog-core + fog-json + fog-serverlove (0.1.2) + fog-core + fog-json + fog-softlayer (1.0.2) + fog-core + fog-json + fog-storm_on_demand (0.1.1) + fog-core + fog-json + fog-terremark (0.1.0) + fog-core + fog-xml + fog-vmfusion (0.1.0) + fission + fog-core + fog-voxel (0.1.0) + fog-core + fog-xml + fog-xml (0.1.2) + fog-core + nokogiri (~> 1.5, >= 1.5.11) + formatador (0.2.5) + gh (0.14.0) + addressable + backports + faraday (~> 0.8) + multi_json (~> 1.0) + net-http-persistent (>= 2.7) + net-http-pipeline + google-api-client (0.8.6) + activesupport (>= 3.2) + addressable (~> 2.3) + autoparse (~> 0.3) + extlib (~> 0.9) + faraday (~> 0.9) + googleauth (~> 0.3) + launchy (~> 2.4) + multi_json (~> 1.10) + retriable (~> 1.4) + signet (~> 0.6) + googleauth (0.5.0) + faraday (~> 0.9) + jwt (~> 1.4) + logging (~> 2.0) + memoist (~> 0.12) + multi_json (~> 1.11) + signet (~> 0.7) + guard (2.13.0) + formatador (>= 0.2.4) + listen (>= 2.7, <= 4.0) + lumberjack (~> 1.0) + nenv (~> 0.1) + notiffany (~> 0.0) + pry (>= 0.9.12) + shellany (~> 0.0) + thor (>= 0.18.1) + guard-rake (1.0.0) + guard + rake + hiera (1.3.4) + json_pure + highline (1.7.8) + hirb (0.7.3) + hocon (0.9.3) + http-cookie (1.0.2) + domain_name (~> 0.5) + i18n (0.7.0) + inflecto (0.0.2) + inifile (2.0.2) + ipaddress (0.8.0) + jgrep (1.4.0) + json + json (1.8.3) + json_pure (1.8.3) + jwt (1.5.2) + launchy (2.4.3) + addressable (~> 2.3) + listen (3.0.5) + rb-fsevent (>= 0.9.3) + rb-inotify (>= 0.9) + little-plugger (1.1.4) + logging (2.0.0) + little-plugger (~> 1.1) + multi_json (~> 1.10) + lumberjack (1.0.9) + memoist (0.14.0) + metaclass (0.0.4) + metadata-json-lint (0.0.11) + json + spdx-licenses (~> 1.0) + method_source (0.8.2) + mime-types (2.99) + mini_portile2 (2.0.0) + minitest (5.8.3) + mocha (1.1.0) + metaclass (~> 0.0.1) + multi_json (1.11.2) + multipart-post (2.0.0) + nenv (0.2.0) + net-http-persistent (2.9.4) + net-http-pipeline (1.0.1) + net-scp (1.2.1) + net-ssh (>= 2.6.5) + net-ssh (2.9.2) + net-telnet (0.1.1) + netrc (0.11.0) + nokogiri (1.6.7.1) + mini_portile2 (~> 2.0.0.rc2) + notiffany (0.0.8) + nenv (~> 0.1) + shellany (~> 0.0) + open_uri_redirections (0.2.1) + parser (2.2.3.0) + ast (>= 1.1, < 3.0) + powerpack (0.1.1) + pry (0.9.12.6) + coderay (~> 1.0) + method_source (~> 0.8) + slop (~> 3.4) + puppet (3.8.4) + facter (> 1.6, < 3) + hiera (~> 1.0) + json_pure + puppet-blacksmith (3.3.1) + puppet (>= 2.7.16) + rest-client + puppet-lint (1.1.0) + puppet-lint-absolute_classname-check (0.1.3) + puppet-lint (~> 1.0) + puppet-lint-classes_and_types_beginning_with_digits-check (0.1.0) + puppet-lint (~> 1.0) + puppet-lint-leading_zero-check (0.1.0) + puppet-lint (~> 1.0) + puppet-lint-trailing_comma-check (0.3.1) + puppet-lint (~> 1.0) + puppet-lint-unquoted_string-check (0.2.5) + puppet-lint (~> 1.0) + puppet-lint-version_comparison-check (0.1.2) + puppet-lint (~> 1.0) + puppet-syntax (2.0.0) + rake + puppetlabs_spec_helper (1.0.1) + mocha + puppet-lint + puppet-syntax + rake + rspec-puppet + pusher-client (0.6.2) + json + websocket (~> 1.0) + rainbow (2.0.0) + rake (10.4.2) + rb-fsevent (0.9.6) + rb-inotify (0.9.5) + ffi (>= 0.5.0) + rbvmomi (1.8.2) + builder + nokogiri (>= 1.4.1) + trollop + require_all (1.3.3) + rest-client (1.8.0) + http-cookie (>= 1.0.2, < 2.0) + mime-types (>= 1.16, < 3.0) + netrc (~> 0.7) + retriable (1.4.1) + rspec (3.1.0) + rspec-core (~> 3.1.0) + rspec-expectations (~> 3.1.0) + rspec-mocks (~> 3.1.0) + rspec-core (3.1.7) + rspec-support (~> 3.1.0) + rspec-expectations (3.1.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.1.0) + rspec-its (1.2.0) + rspec-core (>= 3.0.0) + rspec-expectations (>= 3.0.0) + rspec-mocks (3.1.3) + rspec-support (~> 3.1.0) + rspec-puppet-facts (1.3.0) + facter + facterdb (>= 0.3.0) + json + puppet + rspec-support (3.1.2) + rsync (1.0.9) + rubocop (0.33.0) + astrolabe (~> 1.3) + parser (>= 2.2.2.5, < 3.0) + powerpack (~> 0.1) + rainbow (>= 1.99.1, < 3.0) + ruby-progressbar (~> 1.4) + ruby-progressbar (1.7.5) + serverspec (2.25.0) + multi_json + rspec (~> 3.0) + rspec-its + specinfra (~> 2.46) + sfl (2.2) + shellany (0.0.1) + signet (0.7.2) + addressable (~> 2.3) + faraday (~> 0.9) + jwt (~> 1.5) + multi_json (~> 1.10) + simplecov (0.11.1) + docile (~> 1.1.0) + json (~> 1.8) + simplecov-html (~> 0.10.0) + simplecov-console (0.2.0) + colorize + hirb + simplecov + simplecov-html (0.10.0) + slop (3.6.0) + spdx-licenses (1.0.0) + json + specinfra (2.47.0) + net-scp + net-ssh (>= 2.7, < 3.1) + net-telnet + sfl + stringify-hash (0.0.2) + thor (0.19.1) + thread_safe (0.3.5) + travis (1.8.0) + addressable (~> 2.3) + backports + faraday (~> 0.9) + faraday_middleware (~> 0.9, >= 0.9.1) + gh (~> 0.13) + highline (~> 1.6) + launchy (~> 2.1) + pry (~> 0.9, < 0.10) + pusher-client (~> 0.4) + typhoeus (~> 0.6, >= 0.6.8) + travis-lint (2.0.0) + json + trollop (2.1.2) + typhoeus (0.8.0) + ethon (>= 0.8.0) + tzinfo (1.2.2) + thread_safe (~> 0.1) + unf (0.1.4) + unf_ext + unf_ext (0.0.7.1) + websocket (1.2.2) + +PLATFORMS + ruby + +DEPENDENCIES + beaker + beaker-puppet_install_helper + beaker-rspec + guard-rake + metadata-json-lint + puppet (~> 3.8.0) + puppet-blacksmith + puppet-lint-absolute_classname-check + puppet-lint-classes_and_types_beginning_with_digits-check + puppet-lint-leading_zero-check + puppet-lint-trailing_comma-check + puppet-lint-unquoted_string-check + puppet-lint-version_comparison-check + puppetlabs_spec_helper + rake + rspec (< 3.2.0) + rspec-puppet! + rspec-puppet-facts + rubocop (= 0.33.0) + simplecov (>= 0.11.0) + simplecov-console + travis + travis-lint diff --git a/TODO b/TODO index 53557c0..09dbfdd 100644 --- a/TODO +++ b/TODO @@ -1 +1 @@ -validate for puppet 3 +validate for puppet 3 => impossible, misses the .each function diff --git a/manifests/config.pp b/manifests/config.pp index 3a5bd79..21f396a 100644 --- a/manifests/config.pp +++ b/manifests/config.pp @@ -111,7 +111,7 @@ class rsnapshot::config ( ensure => 'file', } file { $config: - content => template('rsnapshot/rsnapshot.erb') + content => template('rsnapshot/rsnapshot.erb'), } $cronfile = "${cron_dir}/${host}" concat { $cronfile: diff --git a/manifests/init.pp b/manifests/init.pp index 389f6b2..000f828 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -14,13 +14,13 @@ class rsnapshot ( $package_ensure = $rsnapshot::params::package_ensure, ) inherits rsnapshot::params { if $::puppetversion =~ /^(1|2|3)/ { - fail("This module requires Puppet 4") + fail('This module requires Puppet 4') } if $hosts { - class { 'rsnapshot::install': }-> - class { 'rsnapshot::config': } - contain 'rsnapshot::install' - contain 'rsnapshot::config' + class { '::rsnapshot::install': }-> + class { '::rsnapshot::config': } + contain '::rsnapshot::install' + contain '::rsnapshot::config' } } diff --git a/metadata.json b/metadata.json index f36001a..ddefa9b 100644 --- a/metadata.json +++ b/metadata.json @@ -1,6 +1,6 @@ { "name": "loomsen-rsnapshot", - "version": "0.1.1", + "version": "0.1.2", "author": "loomsen", "summary": "Configures rsnapshot.", "license": "Apache-2.0", diff --git a/pkg/loomsen-rsnapshot-0.1.0.tar.gz b/pkg/loomsen-rsnapshot-0.1.0.tar.gz deleted file mode 100644 index 9d72267fcf0be0e57a493f9461ab59a79f50cfb8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13188 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 diff --git a/pkg/loomsen-rsnapshot-0.1.0/CONTRIBUTING.md b/pkg/loomsen-rsnapshot-0.1.0/CONTRIBUTING.md deleted file mode 100644 index f75076c..0000000 --- a/pkg/loomsen-rsnapshot-0.1.0/CONTRIBUTING.md +++ /dev/null @@ -1,135 +0,0 @@ -Checklist (and a short version for the impatient) -================================================= - - * Commits: - - - Make commits of logical units. - - - Check for unnecessary whitespace with "git diff --check" before - committing. - - - Commit using Unix line endings (check the settings around "crlf" in - git-config(1)). - - - Do not check in commented out code or unneeded files. - - - The first line of the commit message should be a short - description (50 characters is the soft limit, excluding ticket - number(s)), and should skip the full stop. - - - Associate the issue in the message. The first line should include - the issue number in the form "(#XXXX) Rest of message". - - - The body should provide a meaningful commit message, which: - - - uses the imperative, present tense: "change", not "changed" or - "changes". - - - includes motivation for the change, and contrasts its - implementation with the previous behavior. - - - Make sure that you have tests for the bug you are fixing, or - feature you are adding. - - - Make sure the test suites passes after your commit: - `bundle exec rspec spec/acceptance` More information on [testing](#Testing) below - - - When introducing a new feature, make sure it is properly - documented in the README.md - - * Submission: - - * Pre-requisites: - - - Make sure you have a [GitHub account](https://github.com/join) - - * Preferred method: - - - Fork the repository on GitHub. - - - Push your changes to a topic branch in your fork of the - repository. (the format ticket/1234-short_description_of_change is - usually preferred for this project). - - - Submit a pull request to the repository in the OpenConceptConsulting - organization. - -Testing -======= - -Getting Started ---------------- - -Our puppet modules provide [`Gemfile`](./Gemfile)s which can tell a ruby -package manager such as [bundler](http://bundler.io/) what Ruby packages, -or Gems, are required to build, develop, and test this software. - -Please make sure you have [bundler installed](http://bundler.io/#getting-started) -on your system, then use it to install all dependencies needed for this project, -by running - -```shell -% bundle install -Fetching gem metadata from https://rubygems.org/........ -Fetching gem metadata from https://rubygems.org/.. -Using rake (10.1.0) -Using builder (3.2.2) --- 8><-- many more --><8 -- -Using rspec-system-puppet (2.2.0) -Using serverspec (0.6.3) -Using rspec-system-serverspec (1.0.0) -Using bundler (1.3.5) -Your bundle is complete! -Use `bundle show [gemname]` to see where a bundled gem is installed. -``` - -NOTE some systems may require you to run this command with sudo. - -If you already have those gems installed, make sure they are up-to-date: - -```shell -% bundle update -``` - -With all dependencies in place and up-to-date we can now run the tests: - -```shell -% rake spec -``` - -This will execute all the [rspec tests](http://rspec-puppet.com/) tests -under [spec/defines](./spec/defines), [spec/classes](./spec/classes), -and so on. rspec tests may have the same kind of dependencies as the -module they are testing. While the module defines in its [Modulefile](./Modulefile), -rspec tests define them in [.fixtures.yml](./fixtures.yml). - -Some puppet modules also come with [beaker](https://github.com/puppetlabs/beaker) -tests. These tests spin up a virtual machine under -[VirtualBox](https://www.virtualbox.org/)) with, controlling it with -[Vagrant](http://www.vagrantup.com/) to actually simulate scripted test -scenarios. In order to run these, you will need both of those tools -installed on your system. - -You can run them by issuing the following command - -```shell -% rake spec_clean -% rspec spec/acceptance -``` - -This will now download a pre-fabricated image configured in the [default node-set](./spec/acceptance/nodesets/default.yml), -install puppet, copy this module and install its dependencies per [spec/spec_helper_acceptance.rb](./spec/spec_helper_acceptance.rb) -and then run all the tests under [spec/acceptance](./spec/acceptance). - -Writing Tests -------------- - -XXX getting started writing tests. - -Additional Resources -==================== - -* [General GitHub documentation](http://help.github.com/) - -* [GitHub pull request documentation](http://help.github.com/send-pull-requests/) - diff --git a/pkg/loomsen-rsnapshot-0.1.0/Gemfile b/pkg/loomsen-rsnapshot-0.1.0/Gemfile deleted file mode 100644 index 9016155..0000000 --- a/pkg/loomsen-rsnapshot-0.1.0/Gemfile +++ /dev/null @@ -1,32 +0,0 @@ -source ENV['GEM_SOURCE'] || 'https://rubygems.org' - -group :development, :unit_tests do - gem 'rspec-core', '~> 3.1.7', :require => false - gem 'rspec-puppet', '~> 2.1', :require => false - gem 'puppetlabs_spec_helper', :require => false - gem 'simplecov', :require => false - gem 'puppet_facts', :require => false - gem 'json', :require => false - gem 'metadata-json-lint', :require => false - gem 'puppet-lint', '< 1.1.0', :require => false -end - -group :system_tests do - gem 'beaker-rspec', :require => false - gem 'serverspec', :require => false - gem 'beaker-puppet_install_helper', :require => false -end - -if facterversion = ENV['FACTER_GEM_VERSION'] - gem 'facter', facterversion, :require => false -else - gem 'facter', :require => false -end - -if puppetversion = ENV['PUPPET_GEM_VERSION'] - gem 'puppet', puppetversion, :require => false -else - gem 'puppet', :require => false -end - -# vim:ft=ruby diff --git a/pkg/loomsen-rsnapshot-0.1.0/README.md b/pkg/loomsen-rsnapshot-0.1.0/README.md deleted file mode 100644 index 5f50e63..0000000 --- a/pkg/loomsen-rsnapshot-0.1.0/README.md +++ /dev/null @@ -1,276 +0,0 @@ -# rsnapshot - -#### Table of Contents - -1. [Overview](#overview) -2. [Module Description - What the module does and why it is useful](#module-description) - * [Notes](#notes) -3. [Setup - The basics of getting started with rsnapshot](#setup) - * [What rsnapshot affects](#what-rsnapshot-affects) - * [Setup requirements](#setup-requirements) - * [Getting started with rsnapshot](#getting-started) -4. [Configuration - options and additional functionality](#configuration) - * [Examples](#examples) - * [More Options](#more-options) -5. [Reference - An under-the-hood peek at what the module is doing and how](#reference) -5. [Limitations - OS compatibility, etc.](#limitations) -6. [Development - Guide for contributing to the module](#development) -7. [Editors](#editors) -8. [Contributors](#contributors) - -## Overview - -The rsnapshot module installs, configures and manages rsnapshot on a dedicated backup server. - -## Module Description -The rsnapshot module installs, configures and manages rsnapshot on a dedicated backup server. It allows to set up a centralized Backup Server for all your nodes. -For the cron setup, the module will pick random time entries for the crons from an Array or a Range of time. For how to configure this, [please see below](#more-options) - -### Notes -This module is best used with an ENC like hiera. It will make your config much easier to read and to maintain. Check the examples to see what I mean. - -## Setup - -### What rsnapshot affects - -* This module will install the rsnapshot package on your system -* This module will manage the rsnapshot config on your system -* This module will manage cron entries for your configured nodes - -### Setup Requirements - -On CentOS Systems this module requires the stahnma-epel module. Also you will need to have rsync installed on all nodes to be backed up. -It will create repeatable random cron entries from a configurable timerange for all hosts. - -### Getting Started - -You will need to pass the nodenames to be backed up at least. -This will pickup all defaults and add localhost to the backups: - - -```puppet -class { '::rsnapshot': - hosts => { - 'localhost' => {}, - } -} -``` - -## Configuration -Here are some more elaborate examples of what you can do with this module. - -### Examples -This will backup localhost with defaults. It will disable the default backup locations for example.com -and just backup '/var' for example.com. -```puppet -class { '::rsnapshot': - hosts => { - 'localhost' => {}, - 'example.com' => { - backup_defaults => false, - backup => { - '/var/' => './' - } - } - } -} -``` -The same in hiera: -```yaml ---- -classes: rsnapshot -rsnapshot::hosts: - localhost: - example.com: - backup_defaults: false - backup: - '/var/': './' -``` - - - -A more complete hiera example: -```yaml ---- -classes: - - rsnapshot - -# override default backup dirs for all hosts: -rsnapshot::default_backup: - '/etc': './' - '/usr/local': './' - '/home': './' - -# configure hosts to be backed up -rsnapshot::hosts: -# pick all defaults for localhost - localhost: -# add futher backups for node foo.example.com (additional to default_backup) and use a different snapshot root - foo.example.com: - backup: - '/foo': './' - '/bar': './' - '/baz': './misc' - snapshot_root: '/tmp/rsnapshot' -# all defaults - foo1.example.com: - foo2: -# disable default backup dirs and just backup /var for node bar1 -# also set the minute to 0-10 for daily cron (note: this is not particularly useful, it's just meant to document the features) -# lastly set the range of hours to pick a random hour from (the cron for bar1 will have hour set to something between 1 and 5) - bar1: - backup_defaults: false - backup: - '/var': './var' - cron: - 'daily': - 'minute': '0-10' - 'hour': '1..5' - - -``` - - - -### More options -The defaults are pretty reasonable, I hope. However, you may override pretty much anything. Available parameters are discussed below. - -#### Specials -As mentioned, this module will generate random time entries for your hosts. The random number generator is hashed with hostname and backup_level, so the randomness will be repeatable per host.level. This is important so puppet won't override the crons with each run. -You may specify time ranges as follows: - * default cron syntax (1-10, '*/5', 5) - * an array with allowed values, for example, if you want the backup for a host to run between 1am and 5am, you would override the hours setting for the host in question. -in hiera this would look like: (Explanation see below) -```yaml -rsnapshot::hosts: - example.com: - cron: - 'daily': - 'minute': '1' - 'hour': '1..5' -``` -This will create the rsnapshot config using defaults from params.pp, but set the minute of the daily backup to '1' and the hour to something random between 1 and 5. -So it would look something like: -``` -1 4 * * * foo daily -``` -or maybe -``` -1 2 * * * foo daily -``` -## Reference - -### Classes - -#### Public Classes -* rsnapshot: Main class, includes all other classes. - -####Private Classes - -* rsnapshot::install: Handles the packages. -* rsnapshot::config: Handles configuration and cron files. -* rsnapshot::params: default values. - -### Functions -####`assert_empty_hash` -Sets an empty value to a hash (we need this so a loop doesn't break if just a hostname is given to pick up all defaults. - -####`pick_undef` -Like pick but returns undef values. - -####`rand_from_array` -Takes an Integer, a String or an Array as input, and returns a random entry from the array (or just the String/Integer) - -### Parameters - -The following parameters are available in the `::rsnapshot` class: - -####`$hosts` -Hash containing the hosts to be backed up and optional overrides per host -####`$conf_d` -The place where the configs will be dropped (Default: /etc/rsnapshot (will be created if it doesn't exist)) -####`$config_backup_user` -The user to run the backup scripts as (Default: root, also the user used for ssh connections, if you change this make sure you have proper key deployed and the user exists in the nodes to be backed up.) -####`$package_name` -Default: rsnapshot -####`$package_ensure` -Default: present -####`$cron_dir` -Directory to drop the cron files to. Crons will be created per host. (Default: /etc/cron.d) -####`$backup_levels` -Array containing the backup levels (hourly, daily, weekly, monthly) -Configure the backup_levels (valid per host and global, so you may either set: rsnapshot::backup_levels for all hosts or override default backup_levels for specific hosts) -####`$backup_defaults` -Boolean. Backup default backup dirs or not. -####`$cron` -Hash. Set time ranges for different backup levels. -Hash is of the form: -cron =>{ - daily => { - minute => param, - hour => param, - } - weekly => { - minute => param, - hour => param, - } - {...} -} -### rsnapshot configuration variables -Please read up on the following in the [rsnapshot manpage](http://linux.die.net/man/1/rsnapshot) -####`$cmd_cp` -####`$cmd_rm` -####`$cmd_rsync` -####`$cmd_ssh` -####`$cmd_logger` -####`$cmd_du` -####`$cmd_rsnapshot_diff` -####`$cmd_preexec` -####`$cmd_postexec` -####`$use_lvm` -####`$linux_lvm_cmd_lvcreate` -####`$linux_lvm_cmd_lvremove` -####`$linux_lvm_cmd_mount` -####`$linux_lvm_cmd_umount` -####`$linux_lvm_snapshotsize` -####`$linux_lvm_snapshotname` -####`$linux_lvm_vgpath` -####`$linux_lvm_mountpath` -####`$logpath` -####`$logfile` -####`$lockpath` -####`$snapshot_root` -####`$no_create_root` -####`$verbose` -####`$loglevel` -####`$stop_on_stale_lockfile` -####`$rsync_short_args` -####`$rsync_long_args` -####`$ssh_args` -####`$du_args` -####`$one_fs` -####`$retain` -####`$interval` -####`$include` -####`$exclude` -####`$include_file` -####`$exclude_file` -####`$link_dest` -####`$sync_first` -####`$rsync_numtries` -####`$use_lazy_deletes` -####`$default_backup` -####`$backup_scripts` - -## Limitations -Currently, this module support CentOS, Fedora (with the bloonix CentOS Repo), Ubuntu and Debian. - -## Development -I have limited access to resources and time, so if you think this module is useful, like it, hate it, want to make it better or -want it off the face of the planet, feel free to get in touch with me. - -## Editors -Norbert Varzariu (loomsen) - -## Contributors -Please see the [list of contributors.](https://github.com/loomsen/puppet-bloonix_agent/graphs/contributors) diff --git a/pkg/loomsen-rsnapshot-0.1.0/Rakefile b/pkg/loomsen-rsnapshot-0.1.0/Rakefile deleted file mode 100644 index 8c9b63e..0000000 --- a/pkg/loomsen-rsnapshot-0.1.0/Rakefile +++ /dev/null @@ -1,23 +0,0 @@ -require 'puppetlabs_spec_helper/rake_tasks' -require 'puppet-lint/tasks/puppet-lint' - -PuppetLint.configuration.log_format = "%{path}:%{linenumber}:%{check}:%{KIND}:%{message}" -PuppetLint.configuration.fail_on_warnings = true -PuppetLint.configuration.send('relative') -PuppetLint.configuration.send('disable_80chars') -PuppetLint.configuration.send('disable_class_inherits_from_params_class') -PuppetLint.configuration.ignore_paths = ["vendor/**/*.pp", "spec/**/*.pp", "pkg/**/*.pp"] - -desc "Validate manifests, templates, and ruby files" -task :validate do - Dir['manifests/**/*.pp'].each do |manifest| - sh "puppet parser validate --noop #{manifest}" - end - Dir['spec/**/*.rb','lib/**/*.rb'].each do |ruby_file| - sh "ruby -c #{ruby_file}" unless ruby_file =~ /spec\/fixtures/ - end - Dir['templates/**/*.erb'].each do |template| - sh "erb -P -x -T '-' #{template} | ruby -c" - end -end - diff --git a/pkg/loomsen-rsnapshot-0.1.0/TODO b/pkg/loomsen-rsnapshot-0.1.0/TODO deleted file mode 100644 index c7b5e8b..0000000 --- a/pkg/loomsen-rsnapshot-0.1.0/TODO +++ /dev/null @@ -1,12 +0,0 @@ -* create a struct for cron like -cron = { - daily = { - minute => - hour => - } - monthly = { - minute => - hour => - } -} - diff --git a/pkg/loomsen-rsnapshot-0.1.0/checksums.json b/pkg/loomsen-rsnapshot-0.1.0/checksums.json deleted file mode 100644 index c3478e8..0000000 --- a/pkg/loomsen-rsnapshot-0.1.0/checksums.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "CONTRIBUTING.md": "1d1592146aac11936cfda288a04df0e0", - "Gemfile": "1291530f9171164c98d314b359bf1d94", - "README.md": "79b9753e608f7413f221c040bc980524", - "Rakefile": "53164c731c7c0dee279cbe74fce9371e", - "TODO": "0833be6e9308a2f59bbdcbb4c175fa05", - "lib/puppet/parser/functions/assert_empty_hash.rb": "69fbc5b1d1f85fdd4d4266154d2f074c", - "lib/puppet/parser/functions/pick_undef.rb": "227f605e6442d77311cc7faa77c1d293", - "lib/puppet/parser/functions/rand_from_array.rb": "bd6e47f00da29df03f529cacb12635ea", - "manifests/config.pp": "0f056c7326cacc11697533097e829eed", - "manifests/cron.pp": "e2cde5fdb7dd677e0d97308f55fae765", - "manifests/init.pp": "714aa55c4e1a495b522075e77c334fdc", - "manifests/install.pp": "fb9ade1c118a3ea8c124584418bd45ad", - "manifests/params.pp": "bcffee800748e3ce58ecd2c0f596f94a", - "metadata.json": "a0219eb24180c95903cfc7bbe05883f6", - "spec/acceptance/nodesets/ubuntu-12.04-x86_64-docker.yml": "6e8a9cb235318d510f5931e73ac07c05", - "spec/acceptance/nodesets/ubuntu-12.04-x86_64-vagrant.yml": "d170363003b078c180a7263f4b34f53c", - "spec/acceptance/nodesets/ubuntu-14.04-x86_64-docker.yml": "2114f58c30427f4c57e1140b1cbdcab9", - "spec/acceptance/nodesets/ubuntu-14.04-x86_64-vagrant.yml": "07eedc8f2975ab1c5a5ce28133ef8017", - "spec/classes/init_spec.rb": "12aea61c02cc639c7f42a7e988639159", - "spec/spec.opts": "a600ded995d948e393fbe2320ba8e51c", - "spec/spec_helper.rb": "f3f775caa765cd5ebec8d307f2b07fc5", - "templates/cron.erb": "e9455ec3d623a67de0b3fa62255199f7", - "templates/rsnapshot.erb": "28250af764432307b330d1ec579afcca", - "tests/init.pp": "289ce3c27eea72b5c648097a23bcea61" -} \ No newline at end of file diff --git a/pkg/loomsen-rsnapshot-0.1.0/lib/puppet/parser/functions/assert_empty_hash.rb b/pkg/loomsen-rsnapshot-0.1.0/lib/puppet/parser/functions/assert_empty_hash.rb deleted file mode 100644 index fb90c2c..0000000 --- a/pkg/loomsen-rsnapshot-0.1.0/lib/puppet/parser/functions/assert_empty_hash.rb +++ /dev/null @@ -1,18 +0,0 @@ -module Puppet::Parser::Functions -newfunction(:assert_empty_hash, :type => :rvalue, :doc => <<-EOS -This function checks an input struct for undefined hashes in key => hash and assigns {}. This is only a helper function to make a hash.each work if one of the values is undefined -EOS -)do |args| - fail "Must receive one argument." if args.empty? - args.each do |arg| - h = Hash.new - arg.each_pair do |host, hash| - unless hash.is_a? Hash - hash = {} - end - h[host] = hash - end - return h - end - end -end diff --git a/pkg/loomsen-rsnapshot-0.1.0/lib/puppet/parser/functions/pick_undef.rb b/pkg/loomsen-rsnapshot-0.1.0/lib/puppet/parser/functions/pick_undef.rb deleted file mode 100644 index f62cd78..0000000 --- a/pkg/loomsen-rsnapshot-0.1.0/lib/puppet/parser/functions/pick_undef.rb +++ /dev/null @@ -1,15 +0,0 @@ -module Puppet::Parser::Functions -newfunction(:pick_undef, :type => :rvalue, :doc => <<-EOS -This function is similar to pick_default, but will return or undefined values. -EOS -) do |args| - fail "Must receive at least one argument." if args.empty? - default = args.last - args = args[0..-2].compact -# args.delete(:undef) -# args.delete(:undefined) -# args.delete("") - args << default - return args[0] - end -end diff --git a/pkg/loomsen-rsnapshot-0.1.0/lib/puppet/parser/functions/rand_from_array.rb b/pkg/loomsen-rsnapshot-0.1.0/lib/puppet/parser/functions/rand_from_array.rb deleted file mode 100644 index 416c463..0000000 --- a/pkg/loomsen-rsnapshot-0.1.0/lib/puppet/parser/functions/rand_from_array.rb +++ /dev/null @@ -1,37 +0,0 @@ -module Puppet::Parser::Functions -newfunction(:rand_from_array, :type => :rvalue, :doc => <<-EOS -This function takes either an int or an array as input and returns the int or a -random element from the array -EOS -)do |args| - fail "Must receive two argument." if args.empty? -#++ this works if the input is an array - # return args.sample -# +++++++++++++++++++++++++++++++++++++ -# args.flatten! - params = [] - params << args[0] - params.flatten! - arr = [] - salt = args[1].sum % 60 - rnd = Random.new(salt) -# rnd = Random.new() - params.each do |key| - if key.is_a?(String) and key =~ /\d\.\.\d/ - k = key.split('..') - r = Range.new(k[0],k[1]).to_a - arr << r - arr.flatten! - elsif key.is_a?(String) - arr << key - arr.flatten! - elsif key.is_a?(Integer) - arr << key.to_s - arr.flatten! - end - end - last_i = arr.length - 1 - return arr[rnd.rand(0..last_i)] - -end -end diff --git a/pkg/loomsen-rsnapshot-0.1.0/manifests/config.pp b/pkg/loomsen-rsnapshot-0.1.0/manifests/config.pp deleted file mode 100644 index 1b39c1d..0000000 --- a/pkg/loomsen-rsnapshot-0.1.0/manifests/config.pp +++ /dev/null @@ -1,146 +0,0 @@ -# == Class: rsnapshot::config -# -# manage host configs -class rsnapshot::config ( - $hosts = $rsnapshot::hosts, - $cron_dir = $rsnapshot::cron_dir, -) { - # these are global settings, no point in setting them per host - $config_version = $rsnapshot::params::config_version - $lockpath = pick($rsnapshot::lockpath, $rsnapshot::params::config_lockpath) - $conf_d = pick($rsnapshot::conf_d, $rsnapshot::params::conf_d) - # make sure lock path and conf path exist - file { $conf_d: - ensure => 'directory', - } - file { $lockpath: - ensure => 'directory', - } - file { $cron_dir: - ensure => 'directory', - } - # custom function, if only a hostname is given as a param, this is an empty hash - # the next loop would break as puppet does not allow to reassign variables - # the function checks $hosts for elements like: - # { foo => } and converts those to { foo => {} } - $hosts_clean = assert_empty_hash($hosts) - - $hosts_clean.each |String $host, Hash $hash | { - $snapshot_root = pick($hash['snapshot_root'], $rsnapshot::params::config_snapshot_root) - $backup_user = pick($hash['backup_user'], $rsnapshot::params::config_backup_user) - $default_backup_dirs = pick($rsnapshot::default_backup, $rsnapshot::params::config_default_backup) - $backup_levels = pick($hash['backup_levels'], $rsnapshot::params::config_backup_levels, 'weekly') - $backup = $hash['backup'] - $backup_defaults = pick($hash['backup_defaults'], $rsnapshot::params::config_backup_defaults) - $cmd_cp = pick($hash['cmd_cp'], $rsnapshot::params::config_cmd_cp) - $cmd_rm = pick($hash['cmd_rm'], $rsnapshot::params::config_cmd_rm) - $cmd_rsync = pick($hash['cmd_rsync'], $rsnapshot::params::config_cmd_rsync) - $cmd_ssh = pick($hash['cmd_ssh'], $rsnapshot::params::config_cmd_ssh) - $cmd_logger = pick($hash['cmd_logger'], $rsnapshot::params::config_cmd_logger) - $cmd_du = pick($hash['cmd_du'], $rsnapshot::params::config_cmd_du) - $cmd_rsnapshot_diff = pick_undef($hash['cmd_rsnapshot_diff'], $rsnapshot::params::config_cmd_rsnapshot_diff) - $cmd_preexec = pick_undef($hash['cmd_preexec'], $rsnapshot::params::config_cmd_preexec) - $cmd_postexec = pick_undef($hash['cmd_postexec'], $rsnapshot::params::config_cmd_postexec) - $use_lvm = pick_undef($hash['use_lvm'], $rsnapshot::params::config_use_lvm) - $linux_lvm_cmd_lvcreate = pick_undef($hash['linux_lvm_cmd_lvcreate'], $rsnapshot::params::config_linux_lvm_cmd_lvcreate) - $linux_lvm_cmd_lvremove = pick_undef($hash['linux_lvm_cmd_lvremove'], $rsnapshot::params::config_linux_lvm_cmd_lvremove) - $linux_lvm_cmd_mount = pick_undef($hash['linux_lvm_cmd_mount'], $rsnapshot::params::config_linux_lvm_cmd_mount) - $linux_lvm_cmd_umount = pick_undef($hash['linux_lvm_cmd_umount'], $rsnapshot::params::config_linux_lvm_cmd_umount) - $linux_lvm_snapshotsize = pick_undef($hash['linux_lvm_snapshotsize'], $rsnapshot::params::config_linux_lvm_snapshotsize) - $linux_lvm_snapshotname = pick_undef($hash['linux_lvm_snapshotname'], $rsnapshot::params::config_linux_lvm_snapshotname) - $linux_lvm_vgpath = pick_undef($hash['linux_lvm_vgpath'], $rsnapshot::params::config_linux_lvm_vgpath) - $linux_lvm_mountpath = pick_undef($hash['linux_lvm_mountpath'], $rsnapshot::params::config_linux_lvm_mountpath) - $no_create_root = pick_undef($hash['no_create_root'], $rsnapshot::params::config_no_create_root) - $logpath = pick($hash['logpath'], $rsnapshot::logpath, $rsnapshot::params::config_logpath) - $verbose = pick($hash['verbose'], $rsnapshot::params::config_verbose) - $loglevel = pick($hash['loglevel'], $rsnapshot::params::config_loglevel) - $stop_on_stale_lockfile = pick_undef($hash['stop_on_stale_lockfile'], $rsnapshot::params::config_stop_on_stale_lockfile) - $rsync_short_args = pick($hash['rsync_short_args'], $rsnapshot::params::config_rsync_short_args) - $rsync_long_args = pick_undef($hash['rsync_long_args'], $rsnapshot::params::config_rsync_long_args) - $ssh_args = pick_undef($hash['ssh_args'], $rsnapshot::params::config_ssh_args) - $du_args = pick_undef($hash['du_args'], $rsnapshot::params::config_du_args) - $one_fs = pick_undef($hash['one_fs'], $rsnapshot::params::config_one_fs) - $interval = pick($hash['interval'], $rsnapshot::params::config_interval) - $retain = pick_undef($hash['retain'], $rsnapshot::params::config_retain) - $include = pick_undef($hash['include'], $rsnapshot::params::config_include) - $exclude = pick_undef($hash['exclude'], $rsnapshot::params::config_exclude) - $include_file = pick_undef($hash['include_file'], $rsnapshot::params::config_include_file) - $exclude_file = pick($hash['exclude_file'], $rsnapshot::params::config_exclude_file, "${conf_d}/${host}.exclude") - $link_dest = pick_undef($hash['link_dest'], $rsnapshot::params::config_link_dest) - $sync_first = pick_undef($hash['sync_first'], $rsnapshot::params::config_sync_first) - $use_lazy_deletes = pick_undef($hash['use_lazy_deletes'], $rsnapshot::params::config_use_lazy_deletes) - $rsync_numtries = pick_undef($hash['rsync_numtries'], $rsnapshot::params::config_rsync_numtries) - $backup_scripts = pick_undef($hash['backup_scripts'], $rsnapshot::params::config_backup_scripts) - - $snapshot_dir = "${config_snapshot_root}/${host}" - $config = "${conf_d}/${host}.rsnapshot.conf" - $lockfile = "${lockpath}/${host}.pid" - $logfile = "${logpath}/${host}.log" - - # fail if $backup_defaults is set to false and no $host[backup] defined - if ! $backup_defaults and ! $backup { - fail("==> Configuration error: backup_defaults is ${backup_defaults} and backup definitions for this host don't exist <==") - } - - # merge the backup hashes to one if backup_default is set (defaults to true) - if $backup_defaults { - $backups = merge($backup, $default_backup_dirs) - } else { - $backups = $backup - } - - # one of both interval or retain must be present - if ! ( $interval and $retain ) { - $interval = pick($hash['interval'], $rsnapshot::params::config_interval) - } - # rsnapshot wants numeric values - if $link_dest { - $link_dest_num = bool2num($link_dest) - } - if $sync_first { - $sync_first_num = bool2num($sync_first) - } - if $use_lazy_deletes { - $use_lazy_deletes_num = bool2num($use_lazy_deletes) - } - - file { $exclude_file: - ensure => file, - } - file { $config: - content => template('rsnapshot/rsnapshot.erb') - } - - $cronfile = "/tmp/rsnapshot.d/cron/${host}" - concat { "${cronfile}": - } - $backup_levels.each |String $level| { - if validate_hash($hash) { - # allow to globally override ranges, create random numbers for backup_levels daily, weekly, monthly - if has_key($host, 'cron'){ - $c_min = pick($host['cron'][$level]['minute'], $rsnapshot::params::cron[$level]['minute'], '*') - $c_hour = pick($host['cron'][$level]['hour'], $rsnapshot::params::cron[$level]['hour'], '*') - $c_monthday = pick($host['cron'][$level]['monthday'], $rsnapshot::params::cron[$level]['monthday'], '*') - $c_month = pick($host['cron'][$level]['month'], $rsnapshot::params::cron[$level]['month'], '*') - $c_weekday = pick($host['cron'][$level]['weekday'], $rsnapshot::params::cron[$level]['weekday'], '*') - } - } else { - $c_min = $rsnapshot::params::cron[$level]['minute'] - $c_hour = $rsnapshot::params::cron[$level]['hour'] - $c_monthday = $rsnapshot::params::cron[$level]['monthday'] - $c_month = $rsnapshot::params::cron[$level]['month'] - $c_weekday = $rsnapshot::params::cron[$level]['weekday'] - } - $minute = rand_from_array($c_min, "${host}.${level}") - $hour = rand_from_array($c_hour, "${host}.${level}") - $monthday = rand_from_array($c_monthday, "${host}.${level}") - $month = rand_from_array($c_month, "${host}.${level}") - $weekday = rand_from_array($c_weekday, "${host}.${level}") - concat::fragment { "${host}.${level}": - target => "${cronfile}", - content => template('rsnapshot/cron.erb'), - } - } - } -} - diff --git a/pkg/loomsen-rsnapshot-0.1.0/manifests/cron.pp b/pkg/loomsen-rsnapshot-0.1.0/manifests/cron.pp deleted file mode 100644 index 0b2a868..0000000 --- a/pkg/loomsen-rsnapshot-0.1.0/manifests/cron.pp +++ /dev/null @@ -1,7 +0,0 @@ -# this class sets up cron -# * todo -# let the user specify a range of hours and randomize cron creation in this range use rand for #args and return arg[rand] - -class rsnapshot::cron { - -} diff --git a/pkg/loomsen-rsnapshot-0.1.0/manifests/init.pp b/pkg/loomsen-rsnapshot-0.1.0/manifests/init.pp deleted file mode 100644 index 0c26dfd..0000000 --- a/pkg/loomsen-rsnapshot-0.1.0/manifests/init.pp +++ /dev/null @@ -1,23 +0,0 @@ -# == Class: rsnapshot -# -# Manages rsnapshot. -# -# === Parameters -# -class rsnapshot ( - $hosts = $rsnapshot::params::hosts, - $conf_d = $rsnapshot::params::conf_d, - $logpath = $rsnapshot::params::config_logpath, - $lockpath = $rsnapshot::params::config_lockpath, - $default_backup = $rsnapshot::params::config_default_backup, - $package_name = $rsnapshot::params::package_name, - $package_ensure = $rsnapshot::params::package_ensure, -) inherits rsnapshot::params { - if $hosts { - class { 'rsnapshot::install': }-> - class { 'rsnapshot::config': } - contain 'rsnapshot::install' - contain 'rsnapshot::config' - } -} - diff --git a/pkg/loomsen-rsnapshot-0.1.0/manifests/install.pp b/pkg/loomsen-rsnapshot-0.1.0/manifests/install.pp deleted file mode 100644 index 0758784..0000000 --- a/pkg/loomsen-rsnapshot-0.1.0/manifests/install.pp +++ /dev/null @@ -1,14 +0,0 @@ -# == Class: rsnapshot::install -# -# Installs the rsnapshot package. -class rsnapshot::install inherits rsnapshot { - case $::operatingsystem { - /^CentOS$/: { include epel } - default: {} - } - package { $rsnapshot::package_name: - ensure => $rsnapshot::package_ensure, - } - -} - diff --git a/pkg/loomsen-rsnapshot-0.1.0/manifests/params.pp b/pkg/loomsen-rsnapshot-0.1.0/manifests/params.pp deleted file mode 100644 index 5ddccf0..0000000 --- a/pkg/loomsen-rsnapshot-0.1.0/manifests/params.pp +++ /dev/null @@ -1,94 +0,0 @@ -# == Class: rsnapshot -# -# default params -class rsnapshot::params { - $hosts = undef - $conf_d = '/tmp/rsnapshot.d' # the place where the host specific configs are stored - $config_backup_user = 'root' - $package_name = 'rsnapshot' - $package_ensure = 'present' - $cron_dir = '/tmp/rsnapshot.d/cron' - $config_backup_levels = [ 'daily', 'weekly', ] - $config_backup_defaults = true - $config_version = '1.2' - $config_cmd_cp = '/bin/cp' - $config_cmd_rm = '/bin/rm' - $config_cmd_rsync = '/usr/bin/rsync' - $config_cmd_ssh = '/usr/bin/ssh' - $config_cmd_logger = '/usr/bin/logger' - $config_cmd_du = '/usr/bin/du' - $config_cmd_rsnapshot_diff = '/usr/bin/rsnapshot-diff' - $config_cmd_preexec = undef - $config_cmd_postexec = undef - $config_use_lvm = undef - $config_linux_lvm_cmd_lvcreate = undef # '/sbin/lvcreate' - $config_linux_lvm_cmd_lvremove = undef # '/sbin/lvremove' - $config_linux_lvm_cmd_mount = undef # '/sbin/mount' - $config_linux_lvm_cmd_umount = undef # '/sbin/umount' - $config_linux_lvm_snapshotsize = undef # '100M' - $config_linux_lvm_snapshotname = undef # 'rsnapshot' - $config_linux_lvm_vgpath = undef # '/dev' - $config_linux_lvm_mountpath = undef # '/mount/rsnapshot' - $config_logpath = '/var/log/rsnapshot' - $config_logfile = '/var/log/rsnapshot.log' # unused, we are logging to $logpath/$host.log - $config_lockpath = '/var/run/rsnapshot' - $config_snapshot_root = '/backup/' - $config_no_create_root = undef # bool, true or false - $config_verbose = '2' - $config_loglevel = '4' - $config_stop_on_stale_lockfile = undef # bool - $config_rsync_short_args = '-az' - $config_rsync_long_args = undef # defaults are --delete --numeric-ids --relative --delete-excluded - $config_ssh_args = undef - $config_du_args = undef - $config_one_fs = undef - $config_retain = { } - $config_interval = { - 'daily' => '7', - 'weekly' => '4', - 'monthly' => '6', - } - $config_include = [] - $config_exclude = [] - $config_include_file = undef - $config_exclude_file = undef - $config_link_dest = false - $config_sync_first = false - $config_rsync_numtries = 1 - $config_use_lazy_deletes = false - $config_default_backup = { - '/etc' => './', - '/home' => './', - } - $config_backup_scripts = {} - $cron = { - 'hourly' => { - 'minute' => '0..59', - 'hour' => '*', # you could also do: ['21..23','0..4','5'], - 'monthday' => '*', - 'month' => '*', - 'weekday' => '*', - }, - 'daily' => { - 'minute' => '0..59', - 'hour' => '0..23', # you could also do: ['21..23','0..4','5'], - 'monthday' => '*', - 'month' => '*', - 'weekday' => '*', - }, - 'weekly' => { - 'minute' => '0..59', - 'hour' => '0..23', # you could also do: ['21..23','0..4','5'], - 'monthday' => '*', - 'month' => '*', - 'weekday' => '0..6', - }, - 'monthly' => { - 'minute' => '0..59', - 'hour' => '0..23', # you could also do: ['21..23','0..4','5'], - 'monthday' => '0..28', - 'month' => '*', - 'weekday' => '*', - }, - } -} diff --git a/pkg/loomsen-rsnapshot-0.1.0/metadata.json b/pkg/loomsen-rsnapshot-0.1.0/metadata.json deleted file mode 100644 index 24deb3e..0000000 --- a/pkg/loomsen-rsnapshot-0.1.0/metadata.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "name": "loomsen-rsnapshot", - "version": "0.1.0", - "author": "loomsen", - "summary": "Configures rsnapshot.", - "license": "Apache-2.0", - "source": "https://github.com/loomsen/puppet-rsnapshot", - "project_page": "https://github.com/loomsen/puppet-rsnapshot", - "issues_url": "https://github.com/loomsen/puppet-rsnapshot/issues", - "dependencies": [ - {"name":"puppetlabs-stdlib"}, - {"name":"stahnma-epel"} - ], - "data_provider": null, - "tags": [ - "rsnapshot", - "backup", - "rsync" - ], - "requirements": [ - { - "name": "pe", - "version_requirement": ">= 3.0.0" - }, - { - "name": "puppet", - "version_requirement": ">= 3.0.0" - } - ], - "operatingsystem_support": [ - { - "operatingsystem": "CentOS", - "operatingsystemrelease": [ - "5", - "6", - "7" - ] - }, - { - "operatingsystem": "Debian", - "operatingsystemrelease": [ - "6", - "7", - "8" - ] - }, - { - "operatingsystem": "Ubuntu", - "operatingsystemrelease": [ - "12.04", - "10.04", - "14.04" - ] - }, - { - "operatingsystem": "Fedora", - "operatingsystemrelease": [ - "17", - "18", - "19", - "20", - "21", - "22", - "23", - "24" - ] - } - ] -} diff --git a/pkg/loomsen-rsnapshot-0.1.0/spec/acceptance/nodesets/ubuntu-12.04-x86_64-docker.yml b/pkg/loomsen-rsnapshot-0.1.0/spec/acceptance/nodesets/ubuntu-12.04-x86_64-docker.yml deleted file mode 100644 index 890730a..0000000 --- a/pkg/loomsen-rsnapshot-0.1.0/spec/acceptance/nodesets/ubuntu-12.04-x86_64-docker.yml +++ /dev/null @@ -1,12 +0,0 @@ -HOSTS: - ubuntu-1204-x64: - default_apply_opts: - strict_variables: - platform: ubuntu-12.04-amd64 - hypervisor : docker - image: ubuntu:12.04 - # This stops the image from being deleted on completion, speeding up the process. - docker_preserve_image: true -CONFIG: - type: foss - log_level: debug diff --git a/pkg/loomsen-rsnapshot-0.1.0/spec/acceptance/nodesets/ubuntu-12.04-x86_64-vagrant.yml b/pkg/loomsen-rsnapshot-0.1.0/spec/acceptance/nodesets/ubuntu-12.04-x86_64-vagrant.yml deleted file mode 100644 index d3c7e15..0000000 --- a/pkg/loomsen-rsnapshot-0.1.0/spec/acceptance/nodesets/ubuntu-12.04-x86_64-vagrant.yml +++ /dev/null @@ -1,10 +0,0 @@ -HOSTS: - ubuntu-1204-x64: - default_apply_opts: - strict_variables: - platform: ubuntu-12.04-amd64 - hypervisor : vagrant - box : puppetlabs/ubuntu-12.04-64-nocm -CONFIG: - type: foss - log_level: debug diff --git a/pkg/loomsen-rsnapshot-0.1.0/spec/acceptance/nodesets/ubuntu-14.04-x86_64-docker.yml b/pkg/loomsen-rsnapshot-0.1.0/spec/acceptance/nodesets/ubuntu-14.04-x86_64-docker.yml deleted file mode 100644 index 744e027..0000000 --- a/pkg/loomsen-rsnapshot-0.1.0/spec/acceptance/nodesets/ubuntu-14.04-x86_64-docker.yml +++ /dev/null @@ -1,12 +0,0 @@ -HOSTS: - ubuntu-1404-x64: - default_apply_opts: - strict_variables: - platform: ubuntu-14.04-amd64 - hypervisor : docker - image: ubuntu:14.04 - # This stops the image from being deleted on completion, speeding up the process. - docker_preserve_image: true -CONFIG: - type: foss - log_level: debug diff --git a/pkg/loomsen-rsnapshot-0.1.0/spec/acceptance/nodesets/ubuntu-14.04-x86_64-vagrant.yml b/pkg/loomsen-rsnapshot-0.1.0/spec/acceptance/nodesets/ubuntu-14.04-x86_64-vagrant.yml deleted file mode 100644 index 7188ccb..0000000 --- a/pkg/loomsen-rsnapshot-0.1.0/spec/acceptance/nodesets/ubuntu-14.04-x86_64-vagrant.yml +++ /dev/null @@ -1,10 +0,0 @@ -HOSTS: - ubuntu-1404-x64: - default_apply_opts: - strict_variables: - platform: ubuntu-14.04-amd64 - hypervisor : vagrant - box : puppetlabs/ubuntu-14.04-64-nocm -CONFIG: - type: foss - log_level: debug diff --git a/pkg/loomsen-rsnapshot-0.1.0/spec/classes/init_spec.rb b/pkg/loomsen-rsnapshot-0.1.0/spec/classes/init_spec.rb deleted file mode 100644 index d4615d2..0000000 --- a/pkg/loomsen-rsnapshot-0.1.0/spec/classes/init_spec.rb +++ /dev/null @@ -1,37 +0,0 @@ -require 'spec_helper' -describe 'rsnapshot' do - - {'Ubuntu' => 'Debian', 'Debian' => 'Debian'}.each do |system, family| - context "when on system #{system} no lvm" do - let :facts do - { - :osfamily => family, - :operatingsystem => system, - } - end - - it { should contain_class('rsnapshot') } - it { should contain_class('rsnapshot::install') } - it { should contain_class('rsnapshot::config') } - end - - context "when on system #{system} with lvm" do - let :facts do - { - :osfamily => family, - :operatingsystem => system, - } - end - - let(:params) { {:use_lvm => true} } - - it { should contain_class('rsnapshot') } - it { should contain_class('rsnapshot::install') } - it { should contain_class('rsnapshot::config') } - - it { - should contain_file('/etc/rsnapshot.conf').with_content(/^linux_lvm_((\w|_)+)\t(.*)$/) - } - end - end -end diff --git a/pkg/loomsen-rsnapshot-0.1.0/spec/spec.opts b/pkg/loomsen-rsnapshot-0.1.0/spec/spec.opts deleted file mode 100644 index 91cd642..0000000 --- a/pkg/loomsen-rsnapshot-0.1.0/spec/spec.opts +++ /dev/null @@ -1,6 +0,0 @@ ---format -s ---colour ---loadby -mtime ---backtrace diff --git a/pkg/loomsen-rsnapshot-0.1.0/spec/spec_helper.rb b/pkg/loomsen-rsnapshot-0.1.0/spec/spec_helper.rb deleted file mode 100644 index d4197d7..0000000 --- a/pkg/loomsen-rsnapshot-0.1.0/spec/spec_helper.rb +++ /dev/null @@ -1,29 +0,0 @@ -require 'puppetlabs_spec_helper/module_spec_helper' - -RSpec.configure do |c| - c.include PuppetlabsSpec::Files - - c.before :each do - # Ensure that we don't accidentally cache facts and environment - # between test cases. - Facter::Util::Loader.any_instance.stubs(:load_all) - Facter.clear - Facter.clear_messages - - # Store any environment variables away to be restored later - @old_env = {} - ENV.each_key {|k| @old_env[k] = ENV[k]} - - if Gem::Version.new(`puppet --version`) >= Gem::Version.new('3.5') - Puppet.settings[:strict_variables]=true - end - if ENV['PARSER'] - Puppet.settings[:parser]=ENV['PARSER'] - end - end - - c.after :each do - PuppetlabsSpec::Files.cleanup - end -end - diff --git a/pkg/loomsen-rsnapshot-0.1.0/templates/cron.erb b/pkg/loomsen-rsnapshot-0.1.0/templates/cron.erb deleted file mode 100644 index 5eb5e0e..0000000 --- a/pkg/loomsen-rsnapshot-0.1.0/templates/cron.erb +++ /dev/null @@ -1 +0,0 @@ -<%= @minute %> <%= @hour %> <%= @month %> <%= @monthday %> <%= @weekday %> root /usr/bin/rsnapshot -c <%= @config %> <%= @level %> diff --git a/pkg/loomsen-rsnapshot-0.1.0/templates/rsnapshot.erb b/pkg/loomsen-rsnapshot-0.1.0/templates/rsnapshot.erb deleted file mode 100644 index 62ceadc..0000000 --- a/pkg/loomsen-rsnapshot-0.1.0/templates/rsnapshot.erb +++ /dev/null @@ -1,144 +0,0 @@ -# This file is being managed by puppet -# Module 'rsnaphost' - -config_version <%= @config_version %> -snapshot_root <%= @snapshot_root %> -<% if @no_create_root != '' -%> -no_create_root <%= @no_create_root %> -<% end -%> -cmd_rsync <%= @cmd_rsync %> -<% if @cmd_cp != '' -%> -cmd_cp <%= @cmd_cp %> -<% end -%> -<% if @cmd_rm != '' -%> -cmd_rm <%= @cmd_rm %> -<% end -%> -<% if @cmd_ssh != '' -%> -cmd_ssh <%= @cmd_ssh %> -<% end -%> -<% if @cmd_logger != '' -%> -cmd_logger <%= @cmd_logger %> -<% end -%> -<% if @cmd_du != '' -%> -cmd_du <%= @cmd_du %> -<% end -%> -<% if @cmd_rsnapshot_diff != '' -%> -cmd_rsnapshot_diff <%= @cmd_rsnapshot_diff %> -<% end -%> -<% if @cmd_preexec != '' -%> -cmd_preexec <%= @cmd_preexec %> -<% end -%> -<% if @cmd_postexec != '' -%> -cmd_postexec <%= @cmd_postexec %> -<% end -%> -<% if @use_lvm != '' -%> -<% if @linux_lvm_cmd_lvcreate -%> -linux_lvm_cmd_lvcreate <%= @linux_lvm_cmd_lvcreate %> -<% end -%> -<% if @linux_lvm_cmd_lvremove != '' -%> -linux_lvm_cmd_lvremove <%= @linux_lvm_cmd_lvremove %> -<% end -%> -<% if @linux_lvm_cmd_mount != '' -%> -linux_lvm_cmd_mount <%= @linux_lvm_cmd_mount %> -<% end -%> -<% if @linux_lvm_cmd_umount != '' -%> -linux_lvm_cmd_umount <%= @linux_lvm_cmd_umount %> -<% end -%> -<% end -%> -######################################### -# BACKUP INTERVALS # -# Must be unique and in ascending order # -# i.e. hourly, daily, weekly, etc. # -######################################### -<%if @interval != '' -%> -<% @interval.each_pair do |name, time| -%> -interval <%= name %> <%= time %> -<% end -%> -<% else %> -<% @retain.each_pair do |name, time| -%> -retain <%= name %> <%= time %> -<% end -%> -<% end -%> -verbose <%= @verbose %> -loglevel <%= @loglevel %> -<% if @logfile != '' -%> -logfile <%= @logfile %> -<% end -%> -<% if @lockfile != '' -%> -lockfile <%= @lockfile %> -<% end -%> -<% if @stop_on_stale_lockfile != '' -%> -stop_on_stale_lockfile <%= @stop_on_stale_lockfile %> -<%end-%> -<% if @rsync_short_args != '' -%> -rsync_short_args <%= @rsync_short_args %> -<% end -%> -<% if @rsync_long_args != '' -%> -rsync_long_args <%= @rsync_long_args %> -<% end -%> -<% if @ssh_args != '' -%> -ssh_args <%= @ssh_args %> -<% end -%> -<% if @du_args != '' -%> -du_args <%= @du_args %> -<% end -%> -<% if @one_fs != '' %> -one_fs <%= @one_fs_num %> -<% end -%> -<% if @include != '' %> -<% @include.each do |pattern| -%> -include <%= pattern %> -<% end -%> -<%end-%> -<% if @exclude != '' %> -<% @exclude.each do |pattern| -%> -exclude <%= pattern %> -<% end -%> -<%end-%> -<% if @include_file != '' -%> -include_file <%= @include_file %> -<% end -%> -<% if @exclude_file != '' -%> -exclude_file <%= @exclude_file %> -<% end -%> -<% if @link_dest != '' -%> -link_dest <%= @link_dest_num %> -<% end -%> -<% if @sync_first != '' -%> -sync_first <%= @sync_first_num %> -<% end -%> -<% if @use_lazy_deletes != '' -%> -use_lazy_deletes <%= @use_lazy_deletes_num %> -<% end -%> -<% if @rsync_numtries != '' -%> -rsync_numtries <%= @rsync_numtries %> -<% end -%> -<% if @use_lvm != '' -%> -<% if @linux_lvm_snapshotsize -%> -linux_lvm_snapshotsize <%= @linux_lvm_snapshotsize %> -<% end -%> -<% if @linux_lvm_snapshotname != '' -%> -linux_lvm_snapshotname <%= @linux_lvm_snapshotname %> -<% end -%> -<% if @linux_lvm_vgpath != '' -%> -linux_lvm_vgpath <%= @linux_lvm_vgpath %> -<% end -%> -<% if @linux_lvm_mountpath != '' -%> -linux_lvm_mountpath <%= @linux_lvm_mountpath %> -<% end -%> -<% end -%> -<% @backups.each_pair do |source, dest| -%> -<% if @host == 'localhost' -%> -backup <%= source %> <%=dest%> -<% elsif @backup_user != '' -%> -backup <%= @backup_user %>@<%=@host%>:<%= source %> <%=dest%> -<% else -%> -backup <%=@host%>:<%= source %> <%=dest%> -<% end -%> -<% end -%> -<% if @backup_scripts != '' -%> -<% @backup_scripts.each_pair do |source, dest| -%> -backup_script <%= source %> <%= dest %> -<% end -%> -<%end-%> - diff --git a/pkg/loomsen-rsnapshot-0.1.0/tests/init.pp b/pkg/loomsen-rsnapshot-0.1.0/tests/init.pp deleted file mode 100644 index e5a32f6..0000000 --- a/pkg/loomsen-rsnapshot-0.1.0/tests/init.pp +++ /dev/null @@ -1,12 +0,0 @@ -# The baseline for module testing used by Puppet Labs is that each manifest -# should have a corresponding test manifest that declares that class or defined -# type. -# -# Tests are then run by using puppet apply --noop (to check for compilation -# errors and view a log of events) or by fully applying the test in a virtual -# environment (to compare the resulting system state to the desired state). -# -# Learn more about module testing here: -# http://docs.puppetlabs.com/guides/tests_smoke.html -# -include rsnapshot diff --git a/pkg/loomsen-rsnapshot-0.1.1.tar.gz b/pkg/loomsen-rsnapshot-0.1.1.tar.gz deleted file mode 100644 index 052e6d1afa3ac08df158c267cc0506c272a9672d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13348 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 ue$LPNIX~y;{G6ZjbAHax`8hx5=lq<-- many more --><8 -- -Using rspec-system-puppet (2.2.0) -Using serverspec (0.6.3) -Using rspec-system-serverspec (1.0.0) -Using bundler (1.3.5) -Your bundle is complete! -Use `bundle show [gemname]` to see where a bundled gem is installed. -``` - -NOTE some systems may require you to run this command with sudo. - -If you already have those gems installed, make sure they are up-to-date: - -```shell -% bundle update -``` - -With all dependencies in place and up-to-date we can now run the tests: - -```shell -% rake spec -``` - -This will execute all the [rspec tests](http://rspec-puppet.com/) tests -under [spec/defines](./spec/defines), [spec/classes](./spec/classes), -and so on. rspec tests may have the same kind of dependencies as the -module they are testing. While the module defines in its [Modulefile](./Modulefile), -rspec tests define them in [.fixtures.yml](./fixtures.yml). - -Some puppet modules also come with [beaker](https://github.com/puppetlabs/beaker) -tests. These tests spin up a virtual machine under -[VirtualBox](https://www.virtualbox.org/)) with, controlling it with -[Vagrant](http://www.vagrantup.com/) to actually simulate scripted test -scenarios. In order to run these, you will need both of those tools -installed on your system. - -You can run them by issuing the following command - -```shell -% rake spec_clean -% rspec spec/acceptance -``` - -This will now download a pre-fabricated image configured in the [default node-set](./spec/acceptance/nodesets/default.yml), -install puppet, copy this module and install its dependencies per [spec/spec_helper_acceptance.rb](./spec/spec_helper_acceptance.rb) -and then run all the tests under [spec/acceptance](./spec/acceptance). - -Writing Tests -------------- - -XXX getting started writing tests. - -Additional Resources -==================== - -* [General GitHub documentation](http://help.github.com/) - -* [GitHub pull request documentation](http://help.github.com/send-pull-requests/) - diff --git a/pkg/loomsen-rsnapshot-0.1.1/Gemfile b/pkg/loomsen-rsnapshot-0.1.1/Gemfile deleted file mode 100644 index 9016155..0000000 --- a/pkg/loomsen-rsnapshot-0.1.1/Gemfile +++ /dev/null @@ -1,32 +0,0 @@ -source ENV['GEM_SOURCE'] || 'https://rubygems.org' - -group :development, :unit_tests do - gem 'rspec-core', '~> 3.1.7', :require => false - gem 'rspec-puppet', '~> 2.1', :require => false - gem 'puppetlabs_spec_helper', :require => false - gem 'simplecov', :require => false - gem 'puppet_facts', :require => false - gem 'json', :require => false - gem 'metadata-json-lint', :require => false - gem 'puppet-lint', '< 1.1.0', :require => false -end - -group :system_tests do - gem 'beaker-rspec', :require => false - gem 'serverspec', :require => false - gem 'beaker-puppet_install_helper', :require => false -end - -if facterversion = ENV['FACTER_GEM_VERSION'] - gem 'facter', facterversion, :require => false -else - gem 'facter', :require => false -end - -if puppetversion = ENV['PUPPET_GEM_VERSION'] - gem 'puppet', puppetversion, :require => false -else - gem 'puppet', :require => false -end - -# vim:ft=ruby diff --git a/pkg/loomsen-rsnapshot-0.1.1/README.md b/pkg/loomsen-rsnapshot-0.1.1/README.md deleted file mode 100644 index 1dc32b5..0000000 --- a/pkg/loomsen-rsnapshot-0.1.1/README.md +++ /dev/null @@ -1,305 +0,0 @@ -# rsnapshot - -#### Table of Contents - -1. [Overview](#overview) -2. [Module Description - What the module does and why it is useful](#module-description) - * [Notes](#notes) -3. [Setup - The basics of getting started with rsnapshot](#setup) - * [What rsnapshot affects](#what-rsnapshot-affects) - * [Setup requirements](#setup-requirements) - * [Getting started with rsnapshot](#getting-started) -4. [Configuration - options and additional functionality](#configuration) - * [Examples](#examples) - * [More Options](#more-options) -5. [Reference - An under-the-hood peek at what the module is doing and how](#reference) -5. [Limitations - OS compatibility, etc.](#limitations) -6. [Development - Guide for contributing to the module](#development) -7. [Editors](#editors) -8. [Contributors](#contributors) - -## Overview - -The rsnapshot module installs, configures and manages rsnapshot on a dedicated backup server. - -## Module Description -The rsnapshot module installs, configures and manages rsnapshot on a dedicated backup server. It allows to set up a centralized Backup Server for all your nodes. -For the cron setup, the module will pick random time entries for the crons from an Array or a Range of time. For how to configure this, [please see below](#more-options) - -### Notes -This module is best used with an ENC like hiera. It will make your config much easier to read and to maintain. Check the examples to see what I mean. - -## Setup - -### What rsnapshot affects - -* This module will install the rsnapshot package on your system -* This module will manage the rsnapshot config on your system -* This module will manage cron entries for your configured nodes - -### Setup Requirements - -On CentOS Systems this module requires the stahnma-epel module. Also you will need to have rsync installed on all nodes to be backed up. -It will create repeatable random cron entries from a configurable timerange for all hosts. - -### Getting Started - -You will need to pass the nodenames to be backed up at least. -This will pickup all defaults and add localhost to the backups: - - -```puppet -class { '::rsnapshot': - hosts => { - 'localhost' => {}, - } -} -``` - -## Configuration -Here are some more elaborate examples of what you can do with this module. - -### Examples -This will backup localhost with defaults. It will disable the default backup locations for example.com -and just backup '/var' for example.com. -```puppet -class { '::rsnapshot': - hosts => { - 'localhost' => {}, - 'example.com' => { - backup_defaults => false, - backup => { - '/var/' => './' - } - } - } -} -``` -The same in hiera: -```yaml ---- -classes: rsnapshot -rsnapshot::hosts: - localhost: - example.com: - backup_defaults: false - backup: - '/var/': './' -``` - - - -A more complete hiera example: -```yaml ---- -classes: - - rsnapshot - -# override default backup dirs for all hosts: -rsnapshot::default_backup: - '/etc': './' - '/usr/local': './' - '/home': './' - -# configure hosts to be backed up -rsnapshot::hosts: -# pick all defaults for localhost - localhost: -# add futher backups for node foo.example.com (additional to default_backup) and use a different snapshot root - foo.example.com: - backup: - '/foo': './' - '/bar': './' - '/baz': './misc' - snapshot_root: '/tmp/rsnapshot' -# all defaults - foo1.example.com: - foo2: -# disable default backup dirs and just backup /var for node bar1 -# also set the minute to 0-10 for daily cron (note: this is not particularly useful, it's just meant to document the features) -# lastly set the range of hours to pick a random hour from (the cron for bar1 will have hour set to something between 1 and 5) - bar1: - backup_defaults: false - backup: - '/var': './var' - cron: - 'daily': - 'minute': '0-10' - 'hour': '1..5' - - -``` - - - -### More options -The defaults are pretty reasonable, I hope. However, you may override pretty much anything. Available parameters are discussed below. - -#### Specials -As mentioned, this module will generate random time entries for your hosts. The random number generator is hashed with hostname and backup_level, so the randomness will be repeatable per host.level. This is important so puppet won't override the crons with each run. -You may specify time ranges as follows: - * default cron syntax (1-10, '*/5', 5) - * an array with allowed values, for example, if you want the backup for a host to run between 1am and 5am, you would override the hours setting for the host in question. -in hiera this would look like: (Explanation see below) -```yaml -rsnapshot::hosts: - example.com: - cron: - 'daily': - 'minute': '1' - 'hour': '1..5' -``` -This will create the rsnapshot config using defaults from params.pp, but set the minute of the daily backup to '1' and the hour to something random between 1 and 5. -So it would look something like: -``` -1 4 * * * foo daily -``` -or maybe -``` -1 2 * * * foo daily -``` -## Reference - -### Classes - -#### Public Classes -* rsnapshot: Main class, includes all other classes. - -####Private Classes - -* rsnapshot::install: Handles the packages. -* rsnapshot::config: Handles configuration and cron files. -* rsnapshot::params: default values. - -### Functions -####`assert_empty_hash` -Sets an empty value to a hash (we need this so a loop doesn't break if just a hostname is given to pick up all defaults. - -####`pick_undef` -Like pick but returns undef values. - -####`rand_from_array` -Takes an Integer, a String or an Array as input, and returns a random entry from the array (or just the String/Integer) - -### Parameters - -The following parameters are available in the `::rsnapshot` class: - -####`$hosts` -Hash containing the hosts to be backed up and optional overrides per host -####`$conf_d` -The place where the configs will be dropped (Default: /etc/rsnapshot (will be created if it doesn't exist)) -####`$backup_user` -The user to run the backup scripts as (Default: root, also the user used for ssh connections, if you change this make sure you have proper key deployed and the user exists in the nodes to be backed up.) -####`$package_name` -Default: rsnapshot -####`$package_ensure` -Default: present -####`$cron_dir` -Directory to drop the cron files to. Crons will be created per host. (Default: /etc/cron.d) -####`$backup_levels` -Array containing the backup levels (hourly, daily, weekly, monthly) -Configure the backup_levels (valid per host and global, so you may either set: rsnapshot::backup_levels for all hosts or override default backup_levels for specific hosts) -####`$backup_defaults` -Boolean. Backup default backup dirs or not. -####`$cron` -Hash. Set time ranges for different backup levels. -Hash is of the form: -```puppet -cron =>{ - daily => { - minute => param, - hour => param, - } - weekly => { - minute => param, - hour => param, - } - {...} -} -``` -####`$snapshot_root` -global. the directory holding your backups. you will end up with a structure like: -``` -/backup/ -├── example.com -│   ├── daily.0 -│   ├── daily.1 -│   ├── daily.2 -│   ├── daily.3 -│   ├── weekly.0 -│   ├── weekly.1 -│   ├── weekly.2 -│   └── weekly.3 -└── localhost - ├── daily.0 - ├── daily.1 - ├── daily.2 - └── weekly.0 -``` - -####`$default_backup` -The default backup directories (may be set per host, even though there is not much sense in doing so) -Default is: -```puppet -default_backup => { - '/etc' => './', - '/home' => './', -} -``` -### rsnapshot configuration variables -Please read up on the following in the [rsnapshot manpage](http://linux.die.net/man/1/rsnapshot) -####`$cmd_cp` -####`$cmd_rm` -####`$cmd_rsync` -####`$cmd_ssh` -####`$cmd_logger` -####`$cmd_du` -####`$cmd_rsnapshot_diff` -####`$cmd_preexec` -####`$cmd_postexec` -####`$use_lvm` -####`$linux_lvm_cmd_lvcreate` -####`$linux_lvm_cmd_lvremove` -####`$linux_lvm_cmd_mount` -####`$linux_lvm_cmd_umount` -####`$linux_lvm_snapshotsize` -####`$linux_lvm_snapshotname` -####`$linux_lvm_vgpath` -####`$linux_lvm_mountpath` -####`$logpath` -####`$logfile` -####`$lockpath` -####`$no_create_root` -####`$verbose` -####`$loglevel` -####`$stop_on_stale_lockfile` -####`$rsync_short_args` -####`$rsync_long_args` -####`$ssh_args` -####`$du_args` -####`$one_fs` -####`$retain` -####`$interval` -####`$include` -####`$exclude` -####`$include_file` -####`$exclude_file` -####`$link_dest` -####`$sync_first` -####`$rsync_numtries` -####`$use_lazy_deletes` -####`$backup_scripts` - -## Limitations -Currently, this module support CentOS, Fedora (with the bloonix CentOS Repo), Ubuntu and Debian. - -## Development -I have limited access to resources and time, so if you think this module is useful, like it, hate it, want to make it better or -want it off the face of the planet, feel free to get in touch with me. - -## Editors -Norbert Varzariu (loomsen) - -## Contributors -Please see the [list of contributors.](https://github.com/loomsen/puppet-bloonix_agent/graphs/contributors) diff --git a/pkg/loomsen-rsnapshot-0.1.1/Rakefile b/pkg/loomsen-rsnapshot-0.1.1/Rakefile deleted file mode 100644 index 8c9b63e..0000000 --- a/pkg/loomsen-rsnapshot-0.1.1/Rakefile +++ /dev/null @@ -1,23 +0,0 @@ -require 'puppetlabs_spec_helper/rake_tasks' -require 'puppet-lint/tasks/puppet-lint' - -PuppetLint.configuration.log_format = "%{path}:%{linenumber}:%{check}:%{KIND}:%{message}" -PuppetLint.configuration.fail_on_warnings = true -PuppetLint.configuration.send('relative') -PuppetLint.configuration.send('disable_80chars') -PuppetLint.configuration.send('disable_class_inherits_from_params_class') -PuppetLint.configuration.ignore_paths = ["vendor/**/*.pp", "spec/**/*.pp", "pkg/**/*.pp"] - -desc "Validate manifests, templates, and ruby files" -task :validate do - Dir['manifests/**/*.pp'].each do |manifest| - sh "puppet parser validate --noop #{manifest}" - end - Dir['spec/**/*.rb','lib/**/*.rb'].each do |ruby_file| - sh "ruby -c #{ruby_file}" unless ruby_file =~ /spec\/fixtures/ - end - Dir['templates/**/*.erb'].each do |template| - sh "erb -P -x -T '-' #{template} | ruby -c" - end -end - diff --git a/pkg/loomsen-rsnapshot-0.1.1/TODO b/pkg/loomsen-rsnapshot-0.1.1/TODO deleted file mode 100644 index e69de29..0000000 diff --git a/pkg/loomsen-rsnapshot-0.1.1/checksums.json b/pkg/loomsen-rsnapshot-0.1.1/checksums.json deleted file mode 100644 index c5d3b1a..0000000 --- a/pkg/loomsen-rsnapshot-0.1.1/checksums.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "CONTRIBUTING.md": "1d1592146aac11936cfda288a04df0e0", - "Gemfile": "1291530f9171164c98d314b359bf1d94", - "README.md": "f8aa8b62e3137cd2e42b99d853b32c0b", - "Rakefile": "53164c731c7c0dee279cbe74fce9371e", - "TODO": "d41d8cd98f00b204e9800998ecf8427e", - "lib/puppet/parser/functions/assert_empty_hash.rb": "69fbc5b1d1f85fdd4d4266154d2f074c", - "lib/puppet/parser/functions/pick_undef.rb": "227f605e6442d77311cc7faa77c1d293", - "lib/puppet/parser/functions/rand_from_array.rb": "bd6e47f00da29df03f529cacb12635ea", - "manifests/config.pp": "6d84bac803bf0b143d3d75837a038cea", - "manifests/cron.pp": "e2cde5fdb7dd677e0d97308f55fae765", - "manifests/init.pp": "714aa55c4e1a495b522075e77c334fdc", - "manifests/install.pp": "fb9ade1c118a3ea8c124584418bd45ad", - "manifests/params.pp": "de10018211fa504d698fa980d2f1a65b", - "metadata.json": "9e568b31809ee9caba45a3ae805e9e0d", - "spec/acceptance/nodesets/ubuntu-12.04-x86_64-docker.yml": "6e8a9cb235318d510f5931e73ac07c05", - "spec/acceptance/nodesets/ubuntu-12.04-x86_64-vagrant.yml": "d170363003b078c180a7263f4b34f53c", - "spec/acceptance/nodesets/ubuntu-14.04-x86_64-docker.yml": "2114f58c30427f4c57e1140b1cbdcab9", - "spec/acceptance/nodesets/ubuntu-14.04-x86_64-vagrant.yml": "07eedc8f2975ab1c5a5ce28133ef8017", - "spec/classes/init_spec.rb": "12aea61c02cc639c7f42a7e988639159", - "spec/spec.opts": "a600ded995d948e393fbe2320ba8e51c", - "spec/spec_helper.rb": "f3f775caa765cd5ebec8d307f2b07fc5", - "templates/cron.erb": "e9455ec3d623a67de0b3fa62255199f7", - "templates/rsnapshot.erb": "28250af764432307b330d1ec579afcca", - "tests/init.pp": "289ce3c27eea72b5c648097a23bcea61" -} \ No newline at end of file diff --git a/pkg/loomsen-rsnapshot-0.1.1/lib/puppet/parser/functions/assert_empty_hash.rb b/pkg/loomsen-rsnapshot-0.1.1/lib/puppet/parser/functions/assert_empty_hash.rb deleted file mode 100644 index fb90c2c..0000000 --- a/pkg/loomsen-rsnapshot-0.1.1/lib/puppet/parser/functions/assert_empty_hash.rb +++ /dev/null @@ -1,18 +0,0 @@ -module Puppet::Parser::Functions -newfunction(:assert_empty_hash, :type => :rvalue, :doc => <<-EOS -This function checks an input struct for undefined hashes in key => hash and assigns {}. This is only a helper function to make a hash.each work if one of the values is undefined -EOS -)do |args| - fail "Must receive one argument." if args.empty? - args.each do |arg| - h = Hash.new - arg.each_pair do |host, hash| - unless hash.is_a? Hash - hash = {} - end - h[host] = hash - end - return h - end - end -end diff --git a/pkg/loomsen-rsnapshot-0.1.1/lib/puppet/parser/functions/pick_undef.rb b/pkg/loomsen-rsnapshot-0.1.1/lib/puppet/parser/functions/pick_undef.rb deleted file mode 100644 index f62cd78..0000000 --- a/pkg/loomsen-rsnapshot-0.1.1/lib/puppet/parser/functions/pick_undef.rb +++ /dev/null @@ -1,15 +0,0 @@ -module Puppet::Parser::Functions -newfunction(:pick_undef, :type => :rvalue, :doc => <<-EOS -This function is similar to pick_default, but will return or undefined values. -EOS -) do |args| - fail "Must receive at least one argument." if args.empty? - default = args.last - args = args[0..-2].compact -# args.delete(:undef) -# args.delete(:undefined) -# args.delete("") - args << default - return args[0] - end -end diff --git a/pkg/loomsen-rsnapshot-0.1.1/lib/puppet/parser/functions/rand_from_array.rb b/pkg/loomsen-rsnapshot-0.1.1/lib/puppet/parser/functions/rand_from_array.rb deleted file mode 100644 index 416c463..0000000 --- a/pkg/loomsen-rsnapshot-0.1.1/lib/puppet/parser/functions/rand_from_array.rb +++ /dev/null @@ -1,37 +0,0 @@ -module Puppet::Parser::Functions -newfunction(:rand_from_array, :type => :rvalue, :doc => <<-EOS -This function takes either an int or an array as input and returns the int or a -random element from the array -EOS -)do |args| - fail "Must receive two argument." if args.empty? -#++ this works if the input is an array - # return args.sample -# +++++++++++++++++++++++++++++++++++++ -# args.flatten! - params = [] - params << args[0] - params.flatten! - arr = [] - salt = args[1].sum % 60 - rnd = Random.new(salt) -# rnd = Random.new() - params.each do |key| - if key.is_a?(String) and key =~ /\d\.\.\d/ - k = key.split('..') - r = Range.new(k[0],k[1]).to_a - arr << r - arr.flatten! - elsif key.is_a?(String) - arr << key - arr.flatten! - elsif key.is_a?(Integer) - arr << key.to_s - arr.flatten! - end - end - last_i = arr.length - 1 - return arr[rnd.rand(0..last_i)] - -end -end diff --git a/pkg/loomsen-rsnapshot-0.1.1/manifests/config.pp b/pkg/loomsen-rsnapshot-0.1.1/manifests/config.pp deleted file mode 100644 index ab4af20..0000000 --- a/pkg/loomsen-rsnapshot-0.1.1/manifests/config.pp +++ /dev/null @@ -1,148 +0,0 @@ -# == Class: rsnapshot::config -# -# manage host configs -class rsnapshot::config ( - $hosts = $rsnapshot::hosts, - $cron_dir = $rsnapshot::cron_dir, -) { - # these are global settings, no point in setting them per host - $config_version = $rsnapshot::params::config_version - $lockpath = pick($rsnapshot::lockpath, $rsnapshot::params::config_lockpath) - $conf_d = pick($rsnapshot::conf_d, $rsnapshot::params::conf_d) - $snapshot_root = pick($hosts['snapshot_root'], $rsnapshot::params::config_snapshot_root) - # make sure lock path and conf path exist - file { $conf_d: - ensure => 'directory', - } - file { $lockpath: - ensure => 'directory', - } - file { $cron_dir: - ensure => 'directory', - } - file { $snapshot_root: - ensure => 'directory', - } - # custom function, if only a hostname is given as a param, this is an empty hash - # the next loop would break as puppet does not allow to reassign variables - # the function checks $hosts for elements like: - # { foo => } and converts those to { foo => {} } - $hosts_clean = assert_empty_hash($hosts) - - $hosts_clean.each |String $host, Hash $hash | { - $backup_user = pick($hash['backup_user'], $rsnapshot::params::config_backup_user) - $default_backup_dirs = pick($rsnapshot::default_backup, $rsnapshot::params::config_default_backup) - $backup_levels = pick($hash['backup_levels'], $rsnapshot::params::config_backup_levels, 'weekly') - $backup = $hash['backup'] - $backup_defaults = pick($hash['backup_defaults'], $rsnapshot::params::config_backup_defaults) - $cmd_cp = pick($hash['cmd_cp'], $rsnapshot::params::config_cmd_cp) - $cmd_rm = pick($hash['cmd_rm'], $rsnapshot::params::config_cmd_rm) - $cmd_rsync = pick($hash['cmd_rsync'], $rsnapshot::params::config_cmd_rsync) - $cmd_ssh = pick($hash['cmd_ssh'], $rsnapshot::params::config_cmd_ssh) - $cmd_logger = pick($hash['cmd_logger'], $rsnapshot::params::config_cmd_logger) - $cmd_du = pick($hash['cmd_du'], $rsnapshot::params::config_cmd_du) - $cmd_rsnapshot_diff = pick_undef($hash['cmd_rsnapshot_diff'], $rsnapshot::params::config_cmd_rsnapshot_diff) - $cmd_preexec = pick_undef($hash['cmd_preexec'], $rsnapshot::params::config_cmd_preexec) - $cmd_postexec = pick_undef($hash['cmd_postexec'], $rsnapshot::params::config_cmd_postexec) - $use_lvm = pick_undef($hash['use_lvm'], $rsnapshot::params::config_use_lvm) - $linux_lvm_cmd_lvcreate = pick_undef($hash['linux_lvm_cmd_lvcreate'], $rsnapshot::params::config_linux_lvm_cmd_lvcreate) - $linux_lvm_cmd_lvremove = pick_undef($hash['linux_lvm_cmd_lvremove'], $rsnapshot::params::config_linux_lvm_cmd_lvremove) - $linux_lvm_cmd_mount = pick_undef($hash['linux_lvm_cmd_mount'], $rsnapshot::params::config_linux_lvm_cmd_mount) - $linux_lvm_cmd_umount = pick_undef($hash['linux_lvm_cmd_umount'], $rsnapshot::params::config_linux_lvm_cmd_umount) - $linux_lvm_snapshotsize = pick_undef($hash['linux_lvm_snapshotsize'], $rsnapshot::params::config_linux_lvm_snapshotsize) - $linux_lvm_snapshotname = pick_undef($hash['linux_lvm_snapshotname'], $rsnapshot::params::config_linux_lvm_snapshotname) - $linux_lvm_vgpath = pick_undef($hash['linux_lvm_vgpath'], $rsnapshot::params::config_linux_lvm_vgpath) - $linux_lvm_mountpath = pick_undef($hash['linux_lvm_mountpath'], $rsnapshot::params::config_linux_lvm_mountpath) - $no_create_root = pick_undef($hash['no_create_root'], $rsnapshot::params::config_no_create_root) - $logpath = pick($hash['logpath'], $rsnapshot::logpath, $rsnapshot::params::config_logpath) - $verbose = pick($hash['verbose'], $rsnapshot::params::config_verbose) - $loglevel = pick($hash['loglevel'], $rsnapshot::params::config_loglevel) - $stop_on_stale_lockfile = pick_undef($hash['stop_on_stale_lockfile'], $rsnapshot::params::config_stop_on_stale_lockfile) - $rsync_short_args = pick($hash['rsync_short_args'], $rsnapshot::params::config_rsync_short_args) - $rsync_long_args = pick_undef($hash['rsync_long_args'], $rsnapshot::params::config_rsync_long_args) - $ssh_args = pick_undef($hash['ssh_args'], $rsnapshot::params::config_ssh_args) - $du_args = pick_undef($hash['du_args'], $rsnapshot::params::config_du_args) - $one_fs = pick_undef($hash['one_fs'], $rsnapshot::params::config_one_fs) - $interval = pick($hash['interval'], $rsnapshot::params::config_interval) - $retain = pick_undef($hash['retain'], $rsnapshot::params::config_retain) - $include = pick_undef($hash['include'], $rsnapshot::params::config_include) - $exclude = pick_undef($hash['exclude'], $rsnapshot::params::config_exclude) - $include_file = pick_undef($hash['include_file'], $rsnapshot::params::config_include_file) - $exclude_file = pick($hash['exclude_file'], $rsnapshot::params::config_exclude_file, "${conf_d}/${host}.exclude") - $link_dest = pick_undef($hash['link_dest'], $rsnapshot::params::config_link_dest) - $sync_first = pick_undef($hash['sync_first'], $rsnapshot::params::config_sync_first) - $use_lazy_deletes = pick_undef($hash['use_lazy_deletes'], $rsnapshot::params::config_use_lazy_deletes) - $rsync_numtries = pick_undef($hash['rsync_numtries'], $rsnapshot::params::config_rsync_numtries) - $backup_scripts = pick_undef($hash['backup_scripts'], $rsnapshot::params::config_backup_scripts) - - $snapshot_dir = "${config_snapshot_root}/${host}" - $config = "${conf_d}/${host}.rsnapshot.conf" - $lockfile = "${lockpath}/${host}.pid" - $logfile = "${logpath}/${host}.log" - - # fail if $backup_defaults is set to false and no $host[backup] defined - if ! $backup_defaults and ! $backup { - fail("==> Configuration error: backup_defaults is ${backup_defaults} and backup definitions for this host don't exist <==") - } - - # merge the backup hashes to one if backup_default is set (defaults to true) - if $backup_defaults { - $backups = merge($backup, $default_backup_dirs) - } else { - $backups = $backup - } - - # one of both interval or retain must be present - if ! ( $interval and $retain ) { - $interval = pick($hash['interval'], $rsnapshot::params::config_interval) - } - # rsnapshot wants numeric values - if $link_dest { - $link_dest_num = bool2num($link_dest) - } - if $sync_first { - $sync_first_num = bool2num($sync_first) - } - if $use_lazy_deletes { - $use_lazy_deletes_num = bool2num($use_lazy_deletes) - } - - file { $exclude_file: - ensure => 'file', - } - file { $config: - content => template('rsnapshot/rsnapshot.erb') - } - $cronfile = "${cron_dir}/${host}" - concat { "${cronfile}": - } - $backup_levels.each |String $level| { - if validate_hash($hash) { - # allow to globally override ranges, create random numbers for backup_levels daily, weekly, monthly - if has_key($host, 'cron'){ - $c_min = pick($host['cron'][$level]['minute'], $rsnapshot::params::cron[$level]['minute'], '*') - $c_hour = pick($host['cron'][$level]['hour'], $rsnapshot::params::cron[$level]['hour'], '*') - $c_monthday = pick($host['cron'][$level]['monthday'], $rsnapshot::params::cron[$level]['monthday'], '*') - $c_month = pick($host['cron'][$level]['month'], $rsnapshot::params::cron[$level]['month'], '*') - $c_weekday = pick($host['cron'][$level]['weekday'], $rsnapshot::params::cron[$level]['weekday'], '*') - } - } else { - $c_min = $rsnapshot::params::cron[$level]['minute'] - $c_hour = $rsnapshot::params::cron[$level]['hour'] - $c_monthday = $rsnapshot::params::cron[$level]['monthday'] - $c_month = $rsnapshot::params::cron[$level]['month'] - $c_weekday = $rsnapshot::params::cron[$level]['weekday'] - } - $minute = rand_from_array($c_min, "${host}.${level}") - $hour = rand_from_array($c_hour, "${host}.${level}") - $monthday = rand_from_array($c_monthday, "${host}.${level}") - $month = rand_from_array($c_month, "${host}.${level}") - $weekday = rand_from_array($c_weekday, "${host}.${level}") - concat::fragment { "${host}.${level}": - target => "${cronfile}", - content => template('rsnapshot/cron.erb'), - } - } - } -} - diff --git a/pkg/loomsen-rsnapshot-0.1.1/manifests/cron.pp b/pkg/loomsen-rsnapshot-0.1.1/manifests/cron.pp deleted file mode 100644 index 0b2a868..0000000 --- a/pkg/loomsen-rsnapshot-0.1.1/manifests/cron.pp +++ /dev/null @@ -1,7 +0,0 @@ -# this class sets up cron -# * todo -# let the user specify a range of hours and randomize cron creation in this range use rand for #args and return arg[rand] - -class rsnapshot::cron { - -} diff --git a/pkg/loomsen-rsnapshot-0.1.1/manifests/init.pp b/pkg/loomsen-rsnapshot-0.1.1/manifests/init.pp deleted file mode 100644 index 0c26dfd..0000000 --- a/pkg/loomsen-rsnapshot-0.1.1/manifests/init.pp +++ /dev/null @@ -1,23 +0,0 @@ -# == Class: rsnapshot -# -# Manages rsnapshot. -# -# === Parameters -# -class rsnapshot ( - $hosts = $rsnapshot::params::hosts, - $conf_d = $rsnapshot::params::conf_d, - $logpath = $rsnapshot::params::config_logpath, - $lockpath = $rsnapshot::params::config_lockpath, - $default_backup = $rsnapshot::params::config_default_backup, - $package_name = $rsnapshot::params::package_name, - $package_ensure = $rsnapshot::params::package_ensure, -) inherits rsnapshot::params { - if $hosts { - class { 'rsnapshot::install': }-> - class { 'rsnapshot::config': } - contain 'rsnapshot::install' - contain 'rsnapshot::config' - } -} - diff --git a/pkg/loomsen-rsnapshot-0.1.1/manifests/install.pp b/pkg/loomsen-rsnapshot-0.1.1/manifests/install.pp deleted file mode 100644 index 0758784..0000000 --- a/pkg/loomsen-rsnapshot-0.1.1/manifests/install.pp +++ /dev/null @@ -1,14 +0,0 @@ -# == Class: rsnapshot::install -# -# Installs the rsnapshot package. -class rsnapshot::install inherits rsnapshot { - case $::operatingsystem { - /^CentOS$/: { include epel } - default: {} - } - package { $rsnapshot::package_name: - ensure => $rsnapshot::package_ensure, - } - -} - diff --git a/pkg/loomsen-rsnapshot-0.1.1/manifests/params.pp b/pkg/loomsen-rsnapshot-0.1.1/manifests/params.pp deleted file mode 100644 index d4cd5c4..0000000 --- a/pkg/loomsen-rsnapshot-0.1.1/manifests/params.pp +++ /dev/null @@ -1,94 +0,0 @@ -# == Class: rsnapshot -# -# default params -class rsnapshot::params { - $hosts = undef - $conf_d = '/etc/rsnapshot' # the place where the host specific configs are stored - $config_backup_user = 'root' - $package_name = 'rsnapshot' - $package_ensure = 'present' - $cron_dir = '/etc/cron.d' - $config_backup_levels = [ 'daily', 'weekly', ] - $config_backup_defaults = true - $config_version = '1.2' - $config_cmd_cp = '/bin/cp' - $config_cmd_rm = '/bin/rm' - $config_cmd_rsync = '/usr/bin/rsync' - $config_cmd_ssh = '/usr/bin/ssh' - $config_cmd_logger = '/usr/bin/logger' - $config_cmd_du = '/usr/bin/du' - $config_cmd_rsnapshot_diff = '/usr/bin/rsnapshot-diff' - $config_cmd_preexec = undef - $config_cmd_postexec = undef - $config_use_lvm = undef - $config_linux_lvm_cmd_lvcreate = undef # '/sbin/lvcreate' - $config_linux_lvm_cmd_lvremove = undef # '/sbin/lvremove' - $config_linux_lvm_cmd_mount = undef # '/sbin/mount' - $config_linux_lvm_cmd_umount = undef # '/sbin/umount' - $config_linux_lvm_snapshotsize = undef # '100M' - $config_linux_lvm_snapshotname = undef # 'rsnapshot' - $config_linux_lvm_vgpath = undef # '/dev' - $config_linux_lvm_mountpath = undef # '/mount/rsnapshot' - $config_logpath = '/var/log/rsnapshot' - $config_logfile = '/var/log/rsnapshot.log' # unused, we are logging to $logpath/$host.log - $config_lockpath = '/var/run/rsnapshot' - $config_snapshot_root = '/backup/' - $config_no_create_root = undef # bool, true or false - $config_verbose = '2' - $config_loglevel = '4' - $config_stop_on_stale_lockfile = undef # bool - $config_rsync_short_args = '-az' - $config_rsync_long_args = undef # defaults are --delete --numeric-ids --relative --delete-excluded - $config_ssh_args = undef - $config_du_args = undef - $config_one_fs = undef - $config_retain = { } - $config_interval = { - 'daily' => '7', - 'weekly' => '4', - 'monthly' => '6', - } - $config_include = [] - $config_exclude = [] - $config_include_file = undef - $config_exclude_file = undef - $config_link_dest = false - $config_sync_first = false - $config_rsync_numtries = 1 - $config_use_lazy_deletes = false - $config_default_backup = { - '/etc' => './', - '/home' => './', - } - $config_backup_scripts = {} - $cron = { - 'hourly' => { - 'minute' => '0..59', - 'hour' => '*', # you could also do: ['21..23','0..4','5'], - 'monthday' => '*', - 'month' => '*', - 'weekday' => '*', - }, - 'daily' => { - 'minute' => '0..59', - 'hour' => '0..23', # you could also do: ['21..23','0..4','5'], - 'monthday' => '*', - 'month' => '*', - 'weekday' => '*', - }, - 'weekly' => { - 'minute' => '0..59', - 'hour' => '0..23', # you could also do: ['21..23','0..4','5'], - 'monthday' => '*', - 'month' => '*', - 'weekday' => '0..6', - }, - 'monthly' => { - 'minute' => '0..59', - 'hour' => '0..23', # you could also do: ['21..23','0..4','5'], - 'monthday' => '0..28', - 'month' => '*', - 'weekday' => '*', - }, - } -} diff --git a/pkg/loomsen-rsnapshot-0.1.1/metadata.json b/pkg/loomsen-rsnapshot-0.1.1/metadata.json deleted file mode 100644 index 71eb9e8..0000000 --- a/pkg/loomsen-rsnapshot-0.1.1/metadata.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "name": "loomsen-rsnapshot", - "version": "0.1.1", - "author": "loomsen", - "summary": "Configures rsnapshot.", - "license": "Apache-2.0", - "source": "https://github.com/loomsen/puppet-rsnapshot", - "project_page": "https://github.com/loomsen/puppet-rsnapshot", - "issues_url": "https://github.com/loomsen/puppet-rsnapshot/issues", - "dependencies": [ - {"name":"puppetlabs-stdlib"}, - {"name":"stahnma-epel"} - ], - "data_provider": null, - "tags": [ - "rsnapshot", - "backup", - "rsync" - ], - "requirements": [ - { - "name": "pe", - "version_requirement": ">= 3.0.0" - }, - { - "name": "puppet", - "version_requirement": ">= 3.0.0" - } - ], - "operatingsystem_support": [ - { - "operatingsystem": "CentOS", - "operatingsystemrelease": [ - "5", - "6", - "7" - ] - }, - { - "operatingsystem": "Debian", - "operatingsystemrelease": [ - "6", - "7", - "8" - ] - }, - { - "operatingsystem": "Ubuntu", - "operatingsystemrelease": [ - "12.04", - "10.04", - "14.04" - ] - }, - { - "operatingsystem": "Fedora", - "operatingsystemrelease": [ - "17", - "18", - "19", - "20", - "21", - "22", - "23", - "24" - ] - } - ] -} diff --git a/pkg/loomsen-rsnapshot-0.1.1/spec/acceptance/nodesets/ubuntu-12.04-x86_64-docker.yml b/pkg/loomsen-rsnapshot-0.1.1/spec/acceptance/nodesets/ubuntu-12.04-x86_64-docker.yml deleted file mode 100644 index 890730a..0000000 --- a/pkg/loomsen-rsnapshot-0.1.1/spec/acceptance/nodesets/ubuntu-12.04-x86_64-docker.yml +++ /dev/null @@ -1,12 +0,0 @@ -HOSTS: - ubuntu-1204-x64: - default_apply_opts: - strict_variables: - platform: ubuntu-12.04-amd64 - hypervisor : docker - image: ubuntu:12.04 - # This stops the image from being deleted on completion, speeding up the process. - docker_preserve_image: true -CONFIG: - type: foss - log_level: debug diff --git a/pkg/loomsen-rsnapshot-0.1.1/spec/acceptance/nodesets/ubuntu-12.04-x86_64-vagrant.yml b/pkg/loomsen-rsnapshot-0.1.1/spec/acceptance/nodesets/ubuntu-12.04-x86_64-vagrant.yml deleted file mode 100644 index d3c7e15..0000000 --- a/pkg/loomsen-rsnapshot-0.1.1/spec/acceptance/nodesets/ubuntu-12.04-x86_64-vagrant.yml +++ /dev/null @@ -1,10 +0,0 @@ -HOSTS: - ubuntu-1204-x64: - default_apply_opts: - strict_variables: - platform: ubuntu-12.04-amd64 - hypervisor : vagrant - box : puppetlabs/ubuntu-12.04-64-nocm -CONFIG: - type: foss - log_level: debug diff --git a/pkg/loomsen-rsnapshot-0.1.1/spec/acceptance/nodesets/ubuntu-14.04-x86_64-docker.yml b/pkg/loomsen-rsnapshot-0.1.1/spec/acceptance/nodesets/ubuntu-14.04-x86_64-docker.yml deleted file mode 100644 index 744e027..0000000 --- a/pkg/loomsen-rsnapshot-0.1.1/spec/acceptance/nodesets/ubuntu-14.04-x86_64-docker.yml +++ /dev/null @@ -1,12 +0,0 @@ -HOSTS: - ubuntu-1404-x64: - default_apply_opts: - strict_variables: - platform: ubuntu-14.04-amd64 - hypervisor : docker - image: ubuntu:14.04 - # This stops the image from being deleted on completion, speeding up the process. - docker_preserve_image: true -CONFIG: - type: foss - log_level: debug diff --git a/pkg/loomsen-rsnapshot-0.1.1/spec/acceptance/nodesets/ubuntu-14.04-x86_64-vagrant.yml b/pkg/loomsen-rsnapshot-0.1.1/spec/acceptance/nodesets/ubuntu-14.04-x86_64-vagrant.yml deleted file mode 100644 index 7188ccb..0000000 --- a/pkg/loomsen-rsnapshot-0.1.1/spec/acceptance/nodesets/ubuntu-14.04-x86_64-vagrant.yml +++ /dev/null @@ -1,10 +0,0 @@ -HOSTS: - ubuntu-1404-x64: - default_apply_opts: - strict_variables: - platform: ubuntu-14.04-amd64 - hypervisor : vagrant - box : puppetlabs/ubuntu-14.04-64-nocm -CONFIG: - type: foss - log_level: debug diff --git a/pkg/loomsen-rsnapshot-0.1.1/spec/classes/init_spec.rb b/pkg/loomsen-rsnapshot-0.1.1/spec/classes/init_spec.rb deleted file mode 100644 index d4615d2..0000000 --- a/pkg/loomsen-rsnapshot-0.1.1/spec/classes/init_spec.rb +++ /dev/null @@ -1,37 +0,0 @@ -require 'spec_helper' -describe 'rsnapshot' do - - {'Ubuntu' => 'Debian', 'Debian' => 'Debian'}.each do |system, family| - context "when on system #{system} no lvm" do - let :facts do - { - :osfamily => family, - :operatingsystem => system, - } - end - - it { should contain_class('rsnapshot') } - it { should contain_class('rsnapshot::install') } - it { should contain_class('rsnapshot::config') } - end - - context "when on system #{system} with lvm" do - let :facts do - { - :osfamily => family, - :operatingsystem => system, - } - end - - let(:params) { {:use_lvm => true} } - - it { should contain_class('rsnapshot') } - it { should contain_class('rsnapshot::install') } - it { should contain_class('rsnapshot::config') } - - it { - should contain_file('/etc/rsnapshot.conf').with_content(/^linux_lvm_((\w|_)+)\t(.*)$/) - } - end - end -end diff --git a/pkg/loomsen-rsnapshot-0.1.1/spec/spec.opts b/pkg/loomsen-rsnapshot-0.1.1/spec/spec.opts deleted file mode 100644 index 91cd642..0000000 --- a/pkg/loomsen-rsnapshot-0.1.1/spec/spec.opts +++ /dev/null @@ -1,6 +0,0 @@ ---format -s ---colour ---loadby -mtime ---backtrace diff --git a/pkg/loomsen-rsnapshot-0.1.1/spec/spec_helper.rb b/pkg/loomsen-rsnapshot-0.1.1/spec/spec_helper.rb deleted file mode 100644 index d4197d7..0000000 --- a/pkg/loomsen-rsnapshot-0.1.1/spec/spec_helper.rb +++ /dev/null @@ -1,29 +0,0 @@ -require 'puppetlabs_spec_helper/module_spec_helper' - -RSpec.configure do |c| - c.include PuppetlabsSpec::Files - - c.before :each do - # Ensure that we don't accidentally cache facts and environment - # between test cases. - Facter::Util::Loader.any_instance.stubs(:load_all) - Facter.clear - Facter.clear_messages - - # Store any environment variables away to be restored later - @old_env = {} - ENV.each_key {|k| @old_env[k] = ENV[k]} - - if Gem::Version.new(`puppet --version`) >= Gem::Version.new('3.5') - Puppet.settings[:strict_variables]=true - end - if ENV['PARSER'] - Puppet.settings[:parser]=ENV['PARSER'] - end - end - - c.after :each do - PuppetlabsSpec::Files.cleanup - end -end - diff --git a/pkg/loomsen-rsnapshot-0.1.1/templates/cron.erb b/pkg/loomsen-rsnapshot-0.1.1/templates/cron.erb deleted file mode 100644 index 5eb5e0e..0000000 --- a/pkg/loomsen-rsnapshot-0.1.1/templates/cron.erb +++ /dev/null @@ -1 +0,0 @@ -<%= @minute %> <%= @hour %> <%= @month %> <%= @monthday %> <%= @weekday %> root /usr/bin/rsnapshot -c <%= @config %> <%= @level %> diff --git a/pkg/loomsen-rsnapshot-0.1.1/templates/rsnapshot.erb b/pkg/loomsen-rsnapshot-0.1.1/templates/rsnapshot.erb deleted file mode 100644 index 62ceadc..0000000 --- a/pkg/loomsen-rsnapshot-0.1.1/templates/rsnapshot.erb +++ /dev/null @@ -1,144 +0,0 @@ -# This file is being managed by puppet -# Module 'rsnaphost' - -config_version <%= @config_version %> -snapshot_root <%= @snapshot_root %> -<% if @no_create_root != '' -%> -no_create_root <%= @no_create_root %> -<% end -%> -cmd_rsync <%= @cmd_rsync %> -<% if @cmd_cp != '' -%> -cmd_cp <%= @cmd_cp %> -<% end -%> -<% if @cmd_rm != '' -%> -cmd_rm <%= @cmd_rm %> -<% end -%> -<% if @cmd_ssh != '' -%> -cmd_ssh <%= @cmd_ssh %> -<% end -%> -<% if @cmd_logger != '' -%> -cmd_logger <%= @cmd_logger %> -<% end -%> -<% if @cmd_du != '' -%> -cmd_du <%= @cmd_du %> -<% end -%> -<% if @cmd_rsnapshot_diff != '' -%> -cmd_rsnapshot_diff <%= @cmd_rsnapshot_diff %> -<% end -%> -<% if @cmd_preexec != '' -%> -cmd_preexec <%= @cmd_preexec %> -<% end -%> -<% if @cmd_postexec != '' -%> -cmd_postexec <%= @cmd_postexec %> -<% end -%> -<% if @use_lvm != '' -%> -<% if @linux_lvm_cmd_lvcreate -%> -linux_lvm_cmd_lvcreate <%= @linux_lvm_cmd_lvcreate %> -<% end -%> -<% if @linux_lvm_cmd_lvremove != '' -%> -linux_lvm_cmd_lvremove <%= @linux_lvm_cmd_lvremove %> -<% end -%> -<% if @linux_lvm_cmd_mount != '' -%> -linux_lvm_cmd_mount <%= @linux_lvm_cmd_mount %> -<% end -%> -<% if @linux_lvm_cmd_umount != '' -%> -linux_lvm_cmd_umount <%= @linux_lvm_cmd_umount %> -<% end -%> -<% end -%> -######################################### -# BACKUP INTERVALS # -# Must be unique and in ascending order # -# i.e. hourly, daily, weekly, etc. # -######################################### -<%if @interval != '' -%> -<% @interval.each_pair do |name, time| -%> -interval <%= name %> <%= time %> -<% end -%> -<% else %> -<% @retain.each_pair do |name, time| -%> -retain <%= name %> <%= time %> -<% end -%> -<% end -%> -verbose <%= @verbose %> -loglevel <%= @loglevel %> -<% if @logfile != '' -%> -logfile <%= @logfile %> -<% end -%> -<% if @lockfile != '' -%> -lockfile <%= @lockfile %> -<% end -%> -<% if @stop_on_stale_lockfile != '' -%> -stop_on_stale_lockfile <%= @stop_on_stale_lockfile %> -<%end-%> -<% if @rsync_short_args != '' -%> -rsync_short_args <%= @rsync_short_args %> -<% end -%> -<% if @rsync_long_args != '' -%> -rsync_long_args <%= @rsync_long_args %> -<% end -%> -<% if @ssh_args != '' -%> -ssh_args <%= @ssh_args %> -<% end -%> -<% if @du_args != '' -%> -du_args <%= @du_args %> -<% end -%> -<% if @one_fs != '' %> -one_fs <%= @one_fs_num %> -<% end -%> -<% if @include != '' %> -<% @include.each do |pattern| -%> -include <%= pattern %> -<% end -%> -<%end-%> -<% if @exclude != '' %> -<% @exclude.each do |pattern| -%> -exclude <%= pattern %> -<% end -%> -<%end-%> -<% if @include_file != '' -%> -include_file <%= @include_file %> -<% end -%> -<% if @exclude_file != '' -%> -exclude_file <%= @exclude_file %> -<% end -%> -<% if @link_dest != '' -%> -link_dest <%= @link_dest_num %> -<% end -%> -<% if @sync_first != '' -%> -sync_first <%= @sync_first_num %> -<% end -%> -<% if @use_lazy_deletes != '' -%> -use_lazy_deletes <%= @use_lazy_deletes_num %> -<% end -%> -<% if @rsync_numtries != '' -%> -rsync_numtries <%= @rsync_numtries %> -<% end -%> -<% if @use_lvm != '' -%> -<% if @linux_lvm_snapshotsize -%> -linux_lvm_snapshotsize <%= @linux_lvm_snapshotsize %> -<% end -%> -<% if @linux_lvm_snapshotname != '' -%> -linux_lvm_snapshotname <%= @linux_lvm_snapshotname %> -<% end -%> -<% if @linux_lvm_vgpath != '' -%> -linux_lvm_vgpath <%= @linux_lvm_vgpath %> -<% end -%> -<% if @linux_lvm_mountpath != '' -%> -linux_lvm_mountpath <%= @linux_lvm_mountpath %> -<% end -%> -<% end -%> -<% @backups.each_pair do |source, dest| -%> -<% if @host == 'localhost' -%> -backup <%= source %> <%=dest%> -<% elsif @backup_user != '' -%> -backup <%= @backup_user %>@<%=@host%>:<%= source %> <%=dest%> -<% else -%> -backup <%=@host%>:<%= source %> <%=dest%> -<% end -%> -<% end -%> -<% if @backup_scripts != '' -%> -<% @backup_scripts.each_pair do |source, dest| -%> -backup_script <%= source %> <%= dest %> -<% end -%> -<%end-%> - diff --git a/pkg/loomsen-rsnapshot-0.1.1/tests/init.pp b/pkg/loomsen-rsnapshot-0.1.1/tests/init.pp deleted file mode 100644 index e5a32f6..0000000 --- a/pkg/loomsen-rsnapshot-0.1.1/tests/init.pp +++ /dev/null @@ -1,12 +0,0 @@ -# The baseline for module testing used by Puppet Labs is that each manifest -# should have a corresponding test manifest that declares that class or defined -# type. -# -# Tests are then run by using puppet apply --noop (to check for compilation -# errors and view a log of events) or by fully applying the test in a virtual -# environment (to compare the resulting system state to the desired state). -# -# Learn more about module testing here: -# http://docs.puppetlabs.com/guides/tests_smoke.html -# -include rsnapshot