albanpeignier-gepetto 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/Manifest.txt CHANGED
@@ -7,6 +7,7 @@ app_generators/gepetto/gepetto_generator.rb
7
7
  app_generators/gepetto/templates/Rakefile
8
8
  app_generators/gepetto/templates/config/fileserver.conf
9
9
  app_generators/gepetto/templates/config/puppet.conf
10
+ app_generators/gepetto/templates/manifests/defaults.pp
10
11
  app_generators/gepetto/templates/manifests/nodes.pp
11
12
  app_generators/gepetto/templates/manifests/site.pp
12
13
  app_generators/gepetto/templates/manifests/templates.pp
data/Rakefile CHANGED
@@ -11,10 +11,12 @@ $hoe = Hoe.new('gepetto', Gepetto::VERSION) do |p|
11
11
  ['rubigen',">= #{RubiGen::VERSION}"],
12
12
  ['echoe',">= 3.0.2"],
13
13
  ['cucumber',">= 0.1.8"],
14
+ ['hoe',">= 1.8.0"],
15
+ ['newgem', ">= #{::Newgem::VERSION}"]
14
16
  ]
15
- p.extra_dev_deps = [
16
- ['newgem', ">= #{::Newgem::VERSION}"]
17
- ]
17
+ # p.extra_dev_deps = [
18
+ # ['newgem', ">= #{::Newgem::VERSION}"]
19
+ # ]
18
20
 
19
21
  p.clean_globs |= %w[**/.DS_Store tmp *.log]
20
22
  path = (p.rubyforge_name == p.name) ? p.rubyforge_name : "\#{p.rubyforge_name}/\#{p.name}"
@@ -16,11 +16,13 @@ class GepettoGenerator < RubiGen::Base
16
16
  # Root directory and all subdirectories.
17
17
  m.directory ''
18
18
 
19
- %w{script config manifests files templates log tasks}.each { |path| m.directory path }
19
+ %w{script config manifests manifests/classes files templates log tasks}.each { |path| m.directory path }
20
20
 
21
21
  m.template_copy_each %w( Rakefile )
22
22
 
23
- m.template_copy_each %w( site.pp templates.pp nodes.pp ), 'manifests'
23
+ m.template_copy_each %w( defaults.pp site.pp templates.pp nodes.pp ), 'manifests'
24
+
25
+ m.template_copy_each %w( empty.pp ), 'manifests/classes'
24
26
 
25
27
  m.template_copy_each %w( puppet.conf fileserver.conf ), 'config'
26
28
 
@@ -0,0 +1,5 @@
1
+ # Node Definitions
2
+
3
+ # node 'sandbox' {
4
+ # notice("sandbox is ready")
5
+ # }
@@ -0,0 +1,9 @@
1
+ # Site Manifest
2
+
3
+ # For more details, see Puppet Best Practices 2.0 :
4
+ # http://reductivelabs.com/trac/puppet/wiki/PuppetBestPractice
5
+
6
+ import "defaults"
7
+ import "classes/*"
8
+ import "templates"
9
+ import "nodes"
data/gepetto.gemspec CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{gepetto}
5
- s.version = "0.0.4"
5
+ s.version = "0.0.5"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Alban Peignier"]
9
- s.date = %q{2009-02-01}
9
+ s.date = %q{2009-02-03}
10
10
  s.default_executable = %q{gepetto}
11
11
  s.description = %q{A helper suite for Puppet projects to create, manage and help daily development More information about Puppet: http://reductivelabs.com/trac/puppet/}
12
12
  s.email = ["alban.peignier@free.fr"]
@@ -29,12 +29,14 @@ Gem::Specification.new do |s|
29
29
  s.add_runtime_dependency(%q<rubigen>, [">= 1.5.2"])
30
30
  s.add_runtime_dependency(%q<echoe>, [">= 3.0.2"])
31
31
  s.add_runtime_dependency(%q<cucumber>, [">= 0.1.8"])
32
- s.add_development_dependency(%q<newgem>, [">= 1.2.3"])
32
+ s.add_runtime_dependency(%q<hoe>, [">= 1.8.0"])
33
+ s.add_runtime_dependency(%q<newgem>, [">= 1.2.3"])
33
34
  s.add_development_dependency(%q<hoe>, [">= 1.8.0"])
34
35
  else
35
36
  s.add_dependency(%q<rubigen>, [">= 1.5.2"])
36
37
  s.add_dependency(%q<echoe>, [">= 3.0.2"])
37
38
  s.add_dependency(%q<cucumber>, [">= 0.1.8"])
39
+ s.add_dependency(%q<hoe>, [">= 1.8.0"])
38
40
  s.add_dependency(%q<newgem>, [">= 1.2.3"])
39
41
  s.add_dependency(%q<hoe>, [">= 1.8.0"])
40
42
  end
@@ -42,6 +44,7 @@ Gem::Specification.new do |s|
42
44
  s.add_dependency(%q<rubigen>, [">= 1.5.2"])
43
45
  s.add_dependency(%q<echoe>, [">= 3.0.2"])
44
46
  s.add_dependency(%q<cucumber>, [">= 0.1.8"])
47
+ s.add_dependency(%q<hoe>, [">= 1.8.0"])
45
48
  s.add_dependency(%q<newgem>, [">= 1.2.3"])
46
49
  s.add_dependency(%q<hoe>, [">= 1.8.0"])
47
50
  end
data/lib/gepetto.rb CHANGED
@@ -2,5 +2,5 @@ $:.unshift(File.dirname(__FILE__)) unless
2
2
  $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
3
3
 
4
4
  module Gepetto
5
- VERSION = '0.0.4'
5
+ VERSION = '0.0.5'
6
6
  end
data/tasks/host.pp CHANGED
@@ -3,33 +3,40 @@ Exec { path => "/usr/bin:/usr/sbin/:/bin:/sbin" }
3
3
  # install qemu
4
4
 
5
5
  package { qemu:
6
- ensure => installed
6
+ ensure => "0.9.1+svn20090104-1"
7
7
  }
8
8
 
9
- # compile kqemu module
9
+ case $operatingsystem {
10
+ debian: {
11
+ notice("qemu from experimental is required for the moment")
10
12
 
11
- package { [module-assistant, kqemu-common]:
12
- ensure => installed
13
- }
13
+ file { "/etc/apt/sources.list.d/debian-experimental.list":
14
+ content => "deb http://ftp.debian.org/debian/ experimental main"
15
+ }
14
16
 
15
- case $lsbdistdescription {
16
- "Ubuntu 8.10": { # fix for ubuntu
17
- notice("Use debian kqemu 1.4.0 (kqemu-source 1.3.0 is broken on intreprid):")
18
- $debian_kqemu_url="http://ftp.debian.org/debian/pool/main/k/kqemu/kqemu-source_1.4.0~pre1-1_all.deb"
19
- exec { "backport-kqemu":
20
- command => "wget -O /tmp/kqemu-source.deb $debian_kqemu_url && dpkg -i /tmp/kqemu-source.deb",
21
- unless => "dpkg -l kqemu-source | grep 1.4.0",
22
- before => Exec["modass-kqemu"],
23
- require => [Package[debhelper], Package[dpatch]]
17
+ exec { "apt-get update":
18
+ require => File["/etc/apt/sources.list.d/debian-experimental.list"]
19
+ }
20
+
21
+ exec { "apt-get install -t experimental -y --force-yes qemu":
22
+ require => Exec["apt-get update"],
23
+ before => Package[qemu]
24
24
  }
25
- package { [debhelper, dpatch]: ensure => installed }
26
25
  }
27
26
  }
28
27
 
28
+ # compile kqemu module
29
+
30
+ package { kqemu-source:
31
+ ensure => "1.4.0~pre1-1",
32
+ require => Package[qemu]
33
+ }
34
+
29
35
  exec { "modass-kqemu":
30
- command => "module-assistant a-i kqemu",
36
+ # modass returns 249 with non-inter ...
37
+ command => 'module-assistant --non-inter a-i kqemu || dpkg -l "kqemu-modules-`uname -r`" | grep ^ii',
31
38
  unless => 'dpkg -l "kqemu-modules-`uname -r`" | grep ^ii',
32
- require => [Package[module-assistant], Package[kqemu-common]]
39
+ require => Package[kqemu-source]
33
40
  }
34
41
 
35
42
  exec { "add kqemu in /etc/modules":
@@ -38,9 +45,16 @@ exec { "add kqemu in /etc/modules":
38
45
  require => Exec["modass-kqemu"]
39
46
  }
40
47
 
48
+ exec { "modprobe-kqemu":
49
+ command => "modprobe kqemu",
50
+ unless => "lsmod | grep kqemu",
51
+ require => Exec["modass-kqemu"]
52
+ }
53
+
41
54
  file { "/dev/kqemu":
42
55
  # default permissions on debian, but not on ubuntu
43
- mode => 666
56
+ mode => 666,
57
+ require => Exec["modprobe-kqemu"]
44
58
  }
45
59
 
46
60
  # install uml-utilities for tunctl
@@ -75,5 +89,6 @@ fi
75
89
  /sbin/ifconfig $1 172.20.0.1
76
90
  iptables -t nat -A POSTROUTING -s 172.20.0.1/24 -o eth0 -j MASQUERADE
77
91
  sysctl -w net.ipv4.ip_forward=1
78
- '
92
+ ',
93
+ require => Package[qemu]
79
94
  }
data/tasks/puppet.rake CHANGED
@@ -1,6 +1,8 @@
1
1
  namespace :puppet do
2
2
  desc "Check syntax of puppet manifests"
3
3
  task :check_syntax do
4
- sh "puppet --color=false --confdir=/tmp --vardir=/tmp --parseonly --ignoreimport #{FileList['manifests/**/*.pp'].join(' ')}"
4
+ FileList['manifests/**/*.pp'].each do |manifest|
5
+ sh "puppet --color=false --confdir=/tmp --vardir=/tmp --parseonly --ignoreimport #{manifest}"
6
+ end
5
7
  end
6
8
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: albanpeignier-gepetto
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alban Peignier
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-02-01 00:00:00 -08:00
12
+ date: 2009-02-03 00:00:00 -08:00
13
13
  default_executable: gepetto
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -39,6 +39,15 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: 0.1.8
41
41
  version:
42
+ - !ruby/object:Gem::Dependency
43
+ name: hoe
44
+ version_requirement:
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: 1.8.0
50
+ version:
42
51
  - !ruby/object:Gem::Dependency
43
52
  name: newgem
44
53
  version_requirement: