diff --git a/files/scripts/install-ganeti b/files/scripts/install-ganeti index b276eb5..6f401c6 100755 --- a/files/scripts/install-ganeti +++ b/files/scripts/install-ganeti @@ -1,4 +1,4 @@ #!/bin/bash -./configure --localstatedir=/var --sysconfdir=/etc +./configure --localstatedir=/var --sysconfdir=/etc $@ make make install diff --git a/manifests/ganeti.pp b/manifests/ganeti.pp index 52cf89a..fee74b6 100644 --- a/manifests/ganeti.pp +++ b/manifests/ganeti.pp @@ -1,14 +1,22 @@ class ganeti_tutorial::ganeti::install { require ganeti_tutorial::params + include ganeti_tutorial::htools $ganeti_version = "${ganeti_tutorial::params::ganeti_version}" + $script_path = "/vagrant/modules/ganeti_tutorial/files/scripts" file { "/etc/init.d/ganeti": ensure => present, require => Exec["install-ganeti"], source => "/root/src/ganeti-${ganeti_version}/doc/examples/ganeti.initd", - mode => 755, + mode => 755; + "/etc/ganeti": + ensure => directory; + "/etc/ganeti/kvm-vif-bridge": + ensure => present, + require => File["/etc/ganeti"], + content => ""; } ganeti_tutorial::unpack { @@ -19,12 +27,27 @@ require => File["/root/src"]; } - exec { - "install-ganeti": - command => "/vagrant/modules/ganeti_tutorial/files/scripts/install-ganeti", - cwd => "/root/src/ganeti-${ganeti_version}", - creates => "/usr/local/sbin/gnt-cluster", - require => Ganeti_tutorial::Unpack["ganeti"]; + if "$ganeti_version" < "2.5.0" { + exec { + "install-ganeti": + command => "${script_path}/install-ganeti", + cwd => "/root/src/ganeti-${ganeti_version}", + creates => "/usr/local/sbin/gnt-cluster", + require => Ganeti_tutorial::Unpack["ganeti"]; + } + } else { + exec { + "install-ganeti": + command => + "${script_path}/install-ganeti --enable-htools --enable-htools-rapi", + cwd => "/root/src/ganeti-${ganeti_version}", + creates => "/usr/local/sbin/gnt-cluster", + require => [ Ganeti_tutorial::Unpack["ganeti"], Package["ghc6"], + Package["libghc6-json-dev"], + Package["libghc6-network-dev"], + Package["libghc6-parallel-dev"], + Package["libghc6-curl-dev"], ]; + } } service { diff --git a/manifests/htools.pp b/manifests/htools.pp index d7e00b8..0a305fe 100644 --- a/manifests/htools.pp +++ b/manifests/htools.pp @@ -11,21 +11,23 @@ "libghc6-curl-dev": ensure => installed; } - ganeti_tutorial::unpack { - "htools": - source => "/root/src/ganeti-htools-${htools_version}.tar.gz", - cwd => "/root/src", - creates => "/root/src/ganeti-htools-${htools_version}", - require => File["/root/src"]; - } + if "$ganeti_version" < "2.5.0" { + ganeti_tutorial::unpack { + "htools": + source => "/root/src/ganeti-htools-${htools_version}.tar.gz", + cwd => "/root/src", + creates => "/root/src/ganeti-htools-${htools_version}", + require => File["/root/src"]; + } - exec { - "install-htools": - command => "/vagrant/modules/ganeti_tutorial/files/scripts/install-htools", - cwd => "/root/src/ganeti-htools-${htools_version}", - creates => "/usr/local/sbin/hbal", - require => [ Package["ghc6"], Package["libghc6-json-dev"], - Package["libghc6-network-dev"], Package["libghc6-parallel-dev"], - Package["libghc6-curl-dev"], Ganeti_tutorial::Unpack["htools"],]; + exec { + "install-htools": + command => "/vagrant/modules/ganeti_tutorial/files/scripts/install-htools", + cwd => "/root/src/ganeti-htools-${htools_version}", + creates => "/usr/local/sbin/hbal", + require => [ Package["ghc6"], Package["libghc6-json-dev"], + Package["libghc6-network-dev"], Package["libghc6-parallel-dev"], + Package["libghc6-curl-dev"], Ganeti_tutorial::Unpack["htools"],]; + } } } diff --git a/nodes/node1.pp b/nodes/node1.pp index d6950e4..787a61a 100644 --- a/nodes/node1.pp +++ b/nodes/node1.pp @@ -5,7 +5,6 @@ include ganeti_tutorial::networking include ganeti_tutorial::kvm include ganeti_tutorial::instance_image -include ganeti_tutorial::htools include ganeti_tutorial::ganeti::install include ganeti_tutorial::ganeti::initialize diff --git a/nodes/node2.pp b/nodes/node2.pp index d73821f..79f63da 100644 --- a/nodes/node2.pp +++ b/nodes/node2.pp @@ -6,6 +6,5 @@ include ganeti_tutorial::kvm include ganeti_tutorial::instance_image include ganeti_tutorial::ganeti::install -include ganeti_tutorial::htools File { owner => "root", group => "root", } diff --git a/nodes/node3.pp b/nodes/node3.pp index b744b72..964f9a1 100644 --- a/nodes/node3.pp +++ b/nodes/node3.pp @@ -6,6 +6,5 @@ include ganeti_tutorial::kvm include ganeti_tutorial::instance_image include ganeti_tutorial::ganeti::install -include ganeti_tutorial::htools File { owner => "root", group => "root", }