
Bring support to mount filesystem_store_datadir to a remote NFS share. Detailed description of this patch: * add a new backend in cloud::image::api (nfs). * add a new parameter to configure the NFS device (false by default). * This parameter is required when using NFS backend, otherwise it will fail. * Mount the NFS share using a new Puppet module by using a hash to configure the share. * Add 4 new Puppet modules for NFS, common, types and rpcbind. The 3 last ones are dependencies. Note: this NFS module has been chosen because it's well tested, quite updated and support Hiera data model which will allow us great flexibility for complex deployments. * add unit tests with two new contexts when running NFS backend.
47 lines
1.6 KiB
Ruby
47 lines
1.6 KiB
Ruby
# -*- mode: ruby -*-
|
|
# vi: set ft=ruby :
|
|
#
|
|
NAME = 'eNovance-cloud'
|
|
TDIR = File.expand_path(File.dirname(__FILE__))
|
|
|
|
require 'puppetlabs_spec_helper/rake_tasks'
|
|
require 'puppet-lint/tasks/puppet-lint'
|
|
require 'puppet-syntax/tasks/puppet-syntax'
|
|
|
|
PuppetLint.configuration.fail_on_warnings = true
|
|
PuppetLint.configuration.send('disable_80chars')
|
|
# for manifest loadbalancer.pp +39 (default value as an array of variables)
|
|
PuppetLint.configuration.send('disable_class_parameter_defaults')
|
|
# manifests/image/api.pp - WARNING: string containing only a variable on line 189
|
|
PuppetLint.configuration.send('disable_only_variable_string')
|
|
# For stonith-enabled (it's a string not a bool)
|
|
PuppetLint.configuration.send('disable_quoted_booleans')
|
|
# Ignore all upstream modules
|
|
exclude_paths = ['spec/**/*','pkg/**/*','vendor/**/*']
|
|
exclude_lint_paths = exclude_paths
|
|
|
|
PuppetLint.configuration.ignore_paths = exclude_lint_paths
|
|
PuppetSyntax.exclude_paths = exclude_paths
|
|
|
|
|
|
task(:default).clear
|
|
task :default => :test
|
|
|
|
desc 'Run syntax, lint and spec tests'
|
|
task :test => [:syntax,:lint,:spec]
|
|
|
|
desc 'Run syntax, lint and spec tests (without fixture purge = train/airplane)'
|
|
task :test_keep => [:syntax,:lint,:spec_prep,:spec_standalone]
|
|
|
|
if ENV['COV']
|
|
desc 'Run syntax, lint, spec tests and coverage'
|
|
task :cov => [:syntax,:lint,:spec_prep,:spec_standalone]
|
|
end
|
|
|
|
namespace :module do
|
|
desc "Build #{NAME} module (in a clean env) Please use this for puppetforge"
|
|
task :build do
|
|
exec "rsync -rv --exclude-from=#{TDIR}/.forgeignore . /tmp/#{NAME};cd /tmp/#{NAME};puppet module build"
|
|
end
|
|
end
|