Tag Archives: puppet

Running puppetshow with puppetmaster 0.24.6

I’ve been testing puppet 0.24.6 to work with puppetshow for the past few days.
And it’s been causing my brain cells damages due rails 2.2.2 which dont work with puppetshow.

I’ve posted to this to puppet group list:
http://groups.google.com/group/puppet-users/browse_thread/thread/f41ce288f49d1cb

Finally I was able to get it running by the help of Blake, Luke and others.

The gems needed are:
actionmailer (2.0.2)
actionpack (2.0.2)
activerecord (2.0.2)
activeresource (2.0.2)
activesupport (2.0.2)
daemons (1.0.10)
gem_plugin (0.2.3)
hobofields (0.7.5)
hobosupport (0.8.5)
rails (2.0.2)
rake (0.8.3)

By following the docs at but skipping the installation of hobo:
http://reductivelabs.com/trac/puppet/wiki/PuppetShow

Basically, all you need is intall these via sudo command:

sudo gem install rails --version='2.0.2'
sudo gem install hobofields --version='0.7.5'
sudo gem install hobosupport

Screenshots:

Using Puppet to install Tomcat,MySQL, SVN and Java

In the last blog which features creating a basic module in Puppet here and here, this is a sample init.pp I’ve created to install, tomcat,mysql,subversion,java1.5 and load a database from a dump file. Notice that JDK is installed while accepting the license by using debconf-utils package. Tested in Ubuntu hardy which is launch from Amazon EC2.

Hope this will help some of my friends in their Puppet configurations.

class hostmanager::server {
     file { "/root/db.sql":
         source=> "puppet://$servername/hostmanager/db.sql"
     }
     file { "/etc/init.d/tomcat5.5":
         source=> "puppet://$servername/hostmanager/tomcat5.5"
     }
     $wantedpackages = ["debconf-utils", "mysql-server", "subversion"]
     package { $wantedpackages: ensure => installed }
     package { ["sun-java5-jdk"] :
                   ensure => installed,
                   require => Exec ["accept-license"]
     }
     package { ["tomcat5.5"] :
                   ensure => installed,
                   require => Package["sun-java5-jdk"]
     }
     exec { "informdb-load":
                 command => "mysql < /root/db.sql",
                 path =>"/bin:/usr/bin",
                 subscribe => File["/root/db.sql"],
                 subscribe => Service["mysql"],
                 unless => "mysql informdb -e 'quit'"
                }
      exec { "accept-license":
               command => "echo 'sun-java5-bin   shared/accepted-sun-dlj-v1-1    boolean true<br /> sun-java5-jdk   shared/accepted-sun-dlj-v1-1    boolean true
               sun-java5-jre   shared/accepted-sun-dlj-v1-1    boolean true
               sun-java5-jre   sun-java5-jre/stopthread        boolean true
               sun-java5-jre   sun-java5-jre/jcepolicy note
               sun-java5-bin   shared/present-sun-dlj-v1-1     note
               sun-java5-jdk   shared/present-sun-dlj-v1-1     note
               sun-java5-jre   shared/present-sun-dlj-v1-1     note
               '|debconf-set-selections",

               path =>"/bin:/usr/bin",
               subscribe =>Package["debconf-utils"]
          }
          service { "tomcat5.5":
                ensure => running,
                hasstatus => true,
                hasrestart => true,
                require => Package["tomcat5.5"],
                require => File["/etc/init.d/tomcat5.5"],
               restart => true
         }
         service { "mysql":
               ensure => running,
               hasstatus => true,
               hasrestart => true,
               require => Package["mysql-server"],
               restart => true
        }
}

Let’s start learning more about puppet. 🙂