On Wed, Apr 13, 2011 at 3:53 PM, Shi <jinzish...@gmail.com> wrote: > Thank Jon. > Based on your class, I've come up with the following code which worked > for me. > class sun-jdk { > package {"java-1.6.0-openjdk": > ensure => absent, > } > exec {"jdk_install": > cwd => "/root", > command => "/root/jdk-6u24-linux-x64-rpm.bin", > creates => "/usr/java/jdk1.6.0_24/bin/javac", > require => [Package["java-1.6.0-openjdk"], file["/root/ > jdk-6u24-linux-x64-rpm.bin"]], > } > package {jdk: > require => Exec["jdk_install"], > } > file {"/root/jdk-6u24-linux-x64-rpm.bin": > ensure => present, > source => "puppet:///modules/sun-jdk/jdk-6u24-linux-x64- > rpm.bin"; > } > } > I didn't use NFS share but made use of the puppet file server. > > If anyone has suggestions for improvement, please let me know. > Thanks a lot. > Shi > > On Apr 12, 10:38 pm, Jon Jaroker <goo...@jaroker.com> wrote: > > I have the same requirement to install Sun JDK, not openJDK. Below is > > the module I am using. I would be grateful for suggestions on how > > this install can be done better. > > > > Thank you, > > Jon > > > > class java { > > > > package {"java-1.6.0-openjdk": > > ensure => absent, > > } > > > > exec {"java_install": > > cwd => "/opt", > > command => "/usr/bin/yes | /opt/share/downloads/java/jdk-6u24- > > linux-x64.bin", > > creates => "/opt/jdk1.6.0_24/COPYRIGHT", > > require => Package["java-1.6.0-openjdk"], > > } > > > > file {"/usr/bin/java": > > ensure => "/opt/jdk1.6.0_24/bin/java", > > require => Exec["java_install"], > > } > > > > } > > > > On Apr 12, 3:55 pm, Shi <jinzish...@gmail.com> wrote: > > > > > > > > > > > > > > > > > Hi there, > > > > > I am new to Puppet and am writing my first module to manage our > > > cluster. So far, it worked out reasonably well. I can add yum > > > repositories and install packages with Puppet automatically. > > > However, one package requires the use of Sun JDK, not the openjdk > > > coming with CentOS. > > > The only way to do this is to download the jdk-6u24-linux-x64-rpm.bin > > > file and run it. > > > > > I figure I might be able to use something like > > > > > package {jdk: > > > source="/mnt/share/jdk-6u24-linux-x64-rpm.bin", > > > ensure => installed; > > > } > > > > > I guess I could put the file under the shared NFS /mnt/share. But > > > there is no way I can tell puppet to simply run the source as an > > > executable. All the PROVIDER options are for a particular format, such > > > as RPM or DEB. I guess I could run the file once on one machine, and > > > it will extract the rpms. I could then just use the rpms, but that is > > > less than ideal. > > > > > Also, if I don't want to pre-mount the NFS share, is there any way to > > > scp the file from the master node? Do I then have to set up ssh > > > without password for the root? > > > > > Thank you very much. > > > Shi > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To post to this group, send email to puppet-users@googlegroups.com. > To unsubscribe from this group, send email to > puppet-users+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > > Hi,
Having been down this road with java and various other packages I'd suggest managing the package at the pkg. manager/mirror level (i.e. custom pkg) and _then_ pull from that with java-ensure class as required (also consider utilizing alternatives command for the system implementation. Of course './jdk-6u21-linux-x64-rpm.bin -x ' will extract the RPM ... -- Cheers, Steven ----------------------- Steven Acres UNIX/Linux System Administrator -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.