refactoring the last part of moduledirs
authorMarcel Haerry <haerry@puzzle.ch>
Wed, 5 May 2010 15:26:43 +0000 (17:26 +0200)
committerMicah Anderson <micah@riseup.net>
Thu, 2 Sep 2010 22:17:35 +0000 (18:17 -0400)
manifests/defines/concatenated_file.pp
manifests/defines/modules_dir.pp
manifests/init.pp
manifests/moduledir.pp [new file with mode: 0644]
manifests/moduledir/common.pp [new file with mode: 0644]
manifests/moduledir/common/cf.pp [new file with mode: 0644]

index d605219..8010c88 100644 (file)
@@ -4,8 +4,6 @@
 # Copyright (C) 2007 David Schmitt <david@schmitt.edv-bus.at>
 # See LICENSE for the full license granted to you.
 
-module_dir { "common/cf": }
-
 # TODO:
 # * create the directory in _part too
 
@@ -40,11 +38,12 @@ define concatenated_file (
        $mode = 0644, $owner = root, $group = 0
        )
 {
+    include common::moduledir::common::cf
 
        $dir_real = $dir ? { '' => "${name}.d", default => $dir }
 
        $tmp_file_name = regsubst($dir_real, '/', '_', 'G')
-       $tmp_file = "${module_dir_path}/${tmp_file_name}"
+       $tmp_file = "${common::moduledir::module_dir_path}/${tmp_file_name}"
 
        if defined(File[$dir_real]) {
                debug("${dir_real} already defined")
index fe0d562..c7cde5b 100644 (file)
@@ -10,12 +10,13 @@ define modules_dir (
                $mode = 0644, $owner = root, $group = 0
        )
 {
-       $dir = "/var/lib/puppet/modules/${name}"
+    include common::moduledir
+       $dir = "$common::moduledir::module_dir_path/${name}"
        if defined(File[$dir]) {
                debug("${dir} already defined")
        } else {
                file {
-                       "/var/lib/puppet/modules/${name}":
+                       $dir:
                                source => [ "puppet://$server/modules/${name}/modules_dir", "puppet://$server/modules/common/empty"],
                                checksum => mtime,
                                # ignore the placeholder
@@ -33,7 +34,3 @@ define module_dir (
 {
   modules_dir{$name: mode => $mode, owner => $owner, group => $group }
 }
-
-# Use this variable to reference the base path. Thus you are safe from any
-# changes.
-$module_dir_path = '/var/lib/puppet/modules'
index b0a8ab2..3770897 100644 (file)
@@ -2,15 +2,4 @@
 # Copyright (C) 2007 David Schmitt <david@schmitt.edv-bus.at>
 # See LICENSE for the full license granted to you.
 
-file {
-       # Module programmers can use /var/lib/puppet/modules/$modulename to save
-       # module-local data, e.g. for constructing config files
-       "/var/lib/puppet/modules":
-               ensure => directory,
-               source => "puppet://$server/modules/common/modules/",
-               ignore => '\.ignore',
-               recurse => true, purge => true, force => true,
-               mode => 0755, owner => root, group => 0;
-}
-
 import "defines/*.pp"
diff --git a/manifests/moduledir.pp b/manifests/moduledir.pp
new file mode 100644 (file)
index 0000000..73f8775
--- /dev/null
@@ -0,0 +1,15 @@
+class common::moduledir {
+    # Use this variable to reference the base path. Thus you are safe from any
+    # changes.
+    $module_dir_path = '/var/lib/puppet/modules'
+
+    # Module programmers can use /var/lib/puppet/modules/$modulename to save
+    # module-local data, e.g. for constructing config files
+    file{$module_dir_path:
+        ensure => directory,
+        source => "puppet://$server/modules/common/modules/",
+        ignore => '\.ignore',
+        recurse => true, purge => true, force => true,
+        mode => 0755, owner => root, group => 0;
+    }
+}
diff --git a/manifests/moduledir/common.pp b/manifests/moduledir/common.pp
new file mode 100644 (file)
index 0000000..c615f84
--- /dev/null
@@ -0,0 +1,3 @@
+class common::moduledir::common{
+    module_dir{'common': }
+}
diff --git a/manifests/moduledir/common/cf.pp b/manifests/moduledir/common/cf.pp
new file mode 100644 (file)
index 0000000..b3c089b
--- /dev/null
@@ -0,0 +1,4 @@
+class common::moduledir::common::cf {
+    include ::common::moduledir::common
+    module_dir{'common/cf': }
+}