Initial import.
authorFrantišek Dvořák <valtri@civ.zcu.cz>
Fri, 12 Dec 2014 21:01:35 +0000 (22:01 +0100)
committerFrantišek Dvořák <valtri@civ.zcu.cz>
Fri, 12 Dec 2014 21:01:35 +0000 (22:01 +0100)
14 files changed:
.fixtures.yml [new file with mode: 0644]
.gitignore [new file with mode: 0644]
.rspec [new file with mode: 0644]
.travis.yml [new file with mode: 0644]
Gemfile [new file with mode: 0644]
Guardfile [new file with mode: 0644]
Modulefile [new file with mode: 0644]
Rakefile [new file with mode: 0644]
files/README [new file with mode: 0644]
manifests/config.pp [new file with mode: 0644]
manifests/init.pp [new file with mode: 0644]
manifests/install.pp [new file with mode: 0644]
manifests/params.pp [new file with mode: 0644]
metadata.json [new file with mode: 0644]

diff --git a/.fixtures.yml b/.fixtures.yml
new file mode 100644 (file)
index 0000000..9aef907
--- /dev/null
@@ -0,0 +1,5 @@
+fixtures:
+  repositories:
+    stdlib: "git://github.com/puppetlabs/puppetlabs-stdlib.git"
+  symlinks:
+    hadoop: "#{source_dir}"
diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..641e153
--- /dev/null
@@ -0,0 +1,7 @@
+.*.sw?
+pkg
+spec/fixtures
+.rspec_system
+.vagrant
+.bundle
+vendor
diff --git a/.rspec b/.rspec
new file mode 100644 (file)
index 0000000..8c18f1a
--- /dev/null
+++ b/.rspec
@@ -0,0 +1,2 @@
+--format documentation
+--color
diff --git a/.travis.yml b/.travis.yml
new file mode 100644 (file)
index 0000000..21b30f4
--- /dev/null
@@ -0,0 +1,31 @@
+---
+language: ruby
+bundler_args: --without development
+before_install: rm Gemfile.lock || true
+rvm:
+  - 1.8.7
+  - 1.9.3
+  - 2.0.0
+  - 2.1.0
+script: bundle exec rake test
+env:
+  - PUPPET_VERSION="~> 2.7.0"
+  - PUPPET_VERSION="~> 3.2.0" STRICT_VARIABLES=yes
+  - PUPPET_VERSION="~> 3.3.0" STRICT_VARIABLES=yes
+  - PUPPET_VERSION="~> 3.4.0" STRICT_VARIABLES=yes
+  - PUPPET_VERSION="~> 3.5.0" STRICT_VARIABLES=yes
+  - PUPPET_VERSION="~> 3.6.0" STRICT_VARIABLES=yes
+matrix:
+  exclude:
+  - rvm: 1.9.3
+    env: PUPPET_VERSION="~> 2.7.0"
+  - rvm: 2.0.0
+    env: PUPPET_VERSION="~> 2.7.0"
+  - rvm: 2.1.0
+    env: PUPPET_VERSION="~> 2.7.0"
+  - rvm: 2.1.0
+    env: PUPPET_VERSION="~> 3.2.0" STRICT_VARIABLES=yes
+  - rvm: 2.1.0
+    env: PUPPET_VERSION="~> 3.3.0" STRICT_VARIABLES=yes
+  - rvm: 2.1.0
+    env: PUPPET_VERSION="~> 3.4.0" STRICT_VARIABLES=yes
diff --git a/Gemfile b/Gemfile
new file mode 100644 (file)
index 0000000..ec0ff8c
--- /dev/null
+++ b/Gemfile
@@ -0,0 +1,18 @@
+source "https://rubygems.org"
+
+group :test do
+  gem "rake"
+  gem "puppet", ENV['PUPPET_VERSION'] || '~> 3.7.0'
+  gem "rspec-puppet", :git => 'https://github.com/rodjek/rspec-puppet.git'
+  gem "puppetlabs_spec_helper"
+end
+
+group :development do
+  gem "travis"
+  gem "travis-lint"
+  gem "beaker"
+  gem "beaker-rspec"
+  gem "vagrant-wrapper"
+  gem "puppet-blacksmith"
+  gem "guard-rake"
+end
diff --git a/Guardfile b/Guardfile
new file mode 100644 (file)
index 0000000..fd50602
--- /dev/null
+++ b/Guardfile
@@ -0,0 +1,5 @@
+notification :off
+
+guard 'rake', :task => 'test' do
+  watch(%r{^manifests\/(.+)\.pp$})
+end
diff --git a/Modulefile b/Modulefile
new file mode 100644 (file)
index 0000000..1cafc7c
--- /dev/null
@@ -0,0 +1,10 @@
+name          'meta-size_hadoop'
+version       '0.1.0'
+source        'mailto://valtri@civ.zcu.cz'
+author        'CESNET'
+license       'Public Domain'
+summary       'Hadoop Site-Specific Stuff'
+description   'Site-specific setup for Hadoop Cluster'
+project_page  'https://github.com/CESNET/'
+
+dependency 'puppetlabs/stdlib'
diff --git a/Rakefile b/Rakefile
new file mode 100644 (file)
index 0000000..ecf3b90
--- /dev/null
+++ b/Rakefile
@@ -0,0 +1,41 @@
+require 'puppetlabs_spec_helper/rake_tasks'
+require 'puppet-lint/tasks/puppet-lint'
+require 'puppet-syntax/tasks/puppet-syntax'
+
+# These two gems aren't always present, for instance
+# on Travis with --without development
+begin
+  require 'puppet_blacksmith/rake_tasks'
+rescue LoadError
+end
+
+PuppetLint.configuration.relative = true
+PuppetLint.configuration.send("disable_80chars")
+PuppetLint.configuration.log_format = "%{path}:%{linenumber}:%{check}:%{KIND}:%{message}"
+PuppetLint.configuration.fail_on_warnings = true
+
+# Forsake support for Puppet 2.6.2 for the benefit of cleaner code.
+# http://puppet-lint.com/checks/class_parameter_defaults/
+PuppetLint.configuration.send('disable_class_parameter_defaults')
+# http://puppet-lint.com/checks/class_inherits_from_params_class/
+PuppetLint.configuration.send('disable_class_inherits_from_params_class')
+
+exclude_paths = [
+  "pkg/**/*",
+  "vendor/**/*",
+  "spec/**/*",
+]
+PuppetLint.configuration.ignore_paths = exclude_paths
+PuppetSyntax.exclude_paths = exclude_paths
+
+desc "Run acceptance tests"
+RSpec::Core::RakeTask.new(:acceptance) do |t|
+  t.pattern = 'spec/acceptance'
+end
+
+desc "Run syntax, lint, and spec tests."
+task :test => [
+  :syntax,
+  :lint,
+  :spec,
+]
diff --git a/files/README b/files/README
new file mode 100644 (file)
index 0000000..8d1052e
--- /dev/null
@@ -0,0 +1 @@
+Put here service keytabs into HOSTNAME/ subdirectories.
diff --git a/manifests/config.pp b/manifests/config.pp
new file mode 100644 (file)
index 0000000..a1c283e
--- /dev/null
@@ -0,0 +1,26 @@
+class site_hadoop::config {
+  if $site_hadoop::mc_setup {
+    file { '/etc/profile.d/mc.csh':
+      ensure => link,
+      target => "${site_hadoop::mc_setup}.csh",
+    }
+    file { '/etc/profile.d/mc.sh':
+      ensure => link,
+      target => "${site_hadoop::mc_setup}.sh",
+    }
+  }
+
+  if $::osfamily == 'Debian' {
+    exec { 'key-cloudera':
+      command => 'apt-key adv --fetch-key http://archive.cloudera.com/cdh5/debian/wheezy/amd64/cdh/archive.key',
+      path    => $site_hadoop::path,
+      creates => '/etc/apt/sources.list.d/cloudera.list',
+    }
+    ->
+    exec { 'wget-cloudera':
+      command => 'wget -P /etc/apt/sources.list.d/ http://archive.cloudera.com/cdh5/debian/wheezy/amd64/cdh/cloudera.list',
+      path    => $site_hadoop::path,
+      creates => '/etc/apt/sources.list.d/cloudera.list',
+    }
+  }
+}
diff --git a/manifests/init.pp b/manifests/init.pp
new file mode 100644 (file)
index 0000000..995f530
--- /dev/null
@@ -0,0 +1,8 @@
+class site_hadoop inherits site_hadoop::params {
+  include 'site_hadoop::install'
+  include 'site_hadoop::config'
+
+  Class['site_hadoop::install'] ->
+  Class['site_hadoop::config'] ->
+  Class['site_hadoop']
+}
diff --git a/manifests/install.pp b/manifests/install.pp
new file mode 100644 (file)
index 0000000..c928615
--- /dev/null
@@ -0,0 +1,9 @@
+class site_hadoop::install {
+  include stdlib
+
+  ensure_packages($site_hadoop::packages)
+
+  if $site_hadoop::java_packages {
+    ensure_packages($site_hadoop::java_packages)
+  }
+}
diff --git a/manifests/params.pp b/manifests/params.pp
new file mode 100644 (file)
index 0000000..cc2fb9d
--- /dev/null
@@ -0,0 +1,24 @@
+class site_hadoop::params {
+  case $::osfamily {
+    'Debian': {
+      case $::lsbdistcodename {
+        'lenny', 'squeeze', 'lucid', 'natty': {
+          $java_packages = ['openjdk-6-jre-headless']
+        }
+        'wheezy', 'jessie', 'precise','quantal','raring','saucy', 'trusty': {
+          $java_packages = ['openjdk-7-jre-headless']
+        }
+      }
+    }
+  }
+    
+  $packages = $::osfamily ? {
+    debian => ['acpid', 'heimdal-clients', 'less', 'mc', 'puppet', 'vim', 'wget'],
+    redhat => ['acpid', 'krb5-workstation', 'less', 'mc', 'puppet', 'vim-enhanced', 'wget'],
+  }
+  $mc_setup = $::osfamily ? {
+    debian => '/usr/lib/mc/mc',
+  }
+
+  $path = '/sbin:/usr/sbin:/bin:/usr/bin'
+}
diff --git a/metadata.json b/metadata.json
new file mode 100644 (file)
index 0000000..72dfca5
--- /dev/null
@@ -0,0 +1,16 @@
+{
+  "name": "meta-site_hadoop",
+  "version": "0.1.0",
+  "author": "CESNET",
+  "summary": "Hadoop Site-Specific Stuff",
+  "license": "Public Domain",
+  "source": "mailto://valtri@civ.zcu.cz",
+  "project_page": "https://github.com/CESNET/",
+  "issues_url": "mailto://valtri@civ.zcu.cz",
+  "dependencies": [
+    {
+      "name": "puppetlabs-stdlib",
+      "version_range": ">= 1.0.0"
+    }
+  ]
+}