傀儡包在一个去,但没有存储库

我试图让木偶去几个虚拟机,我的意图是安装jdk6和tomcat 6使用木偶,但我不能使用百胜,因为机器没有连接到互联网,如果这是一个简单的一台机器解决scheme,那么我可以只是使用手动安装,但我需要自动化,需要使用相同的configurationbuild立和销毁虚拟机。

我结束了使用某人的脚本jdk,这是一个非常脏的模块,它包含从甲骨文文件的所有RPM。 我把它们放在模块上的files文件夹中,然后从puppet master复制它们。 然后单独运行包。 问题在于木偶没有特定的顺序运行。 所以我不得不等待,直到6-7次,当这是试图获得软件包安装,但最后执行命令不会得到执行。

我需要找出一个更好的方法来做到这一点。 一个本地或networking百胜库不是一个选项,所以我需要以相同的方式使用RPM,但我不知道包的链接,我尝试使用链接,然后没有得到安装。

任何指导将是伟大的,因为我需要写这个tomcat和servicemix

我包是低于(非常粗糙的代码)

# Class: jdk6 # # This module manages jdk6 # # Parameters: none # # Actions: # # Requires: see Modulefile # # Sample Usage: # class jdk6 { file {'/tmp/': ensure => 'directory', source => 'puppet:///modules/jdk6/', recurse => 'remote', owner => 'root', group => 'root', mode => '0755', } file { '/etc/profile.d/set_java_home.sh': ensure => present, content => 'export JAVA_HOME=/usr/java/jdk1.6.0_37/jre/bin/java' } package { "jdk": provider => rpm, ensure => installed, source => "/tmp/jdk-6u37-linux-i586.rpm" } package { "java_commons": provider => rpm, ensure => installed, source => "/tmp/sun-javadb-common-10.6.2-1.1.i386.rpm" } package { "java_db_core": provider => rpm, ensure => installed, source => "/tmp/sun-javadb-core-10.6.2-1.1.i386.rpm" } package { "java_client": provider => rpm, ensure => installed, source => "/tmp/sun-javadb-client-10.6.2-1.1.i386.rpm" } package { "java_demo": provider => rpm, ensure => installed, source => "/tmp/sun-javadb-demo-10.6.2-1.1.i386.rpm" } package { "java_db_demo": provider => rpm, ensure => installed, source => "/tmp/sun-javadb-demo-10.6.2-1.1.i386.rpm" } package { "java_dbdocs": provider => rpm, ensure => installed, source => "/tmp/sun-javadb-docs-10.6.2-1.1.i386.rpm" } package { "java_docs": provider => rpm, ensure => installed, source => "/tmp/sun-javadb-javadoc-10.6.2-1.1.i386.rpm" } exec { "alternatives –config java \ && alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_37/jre/bin/java 20000 \ && alternatives --install /usr/bin/javaws javaws /usr/java/jdk1.6.0_37/jre/bin/javaws 20000 \ && alternatives --install /usr/bin/javac javac /usr/java/jdk1.6.0_37/bin/javac 20000 \ && alternatives --install /usr/bin/jar jar /usr/java/jdk1.6.0_37/bin/jar 20000 \ && alternatives --set java /usr/java/jdk1.6.0_37/jre/bin/java \ && alternatives --set javaws /usr/java/jdk1.6.0_37/jre/bin/javaws \ && alternatives --set javac /usr/java/jdk1.6.0_37/bin/javac \ && alternatives --set jar /usr/java/jdk1.6.0_37/bin/jar \ && export JAVA_HOME=/usr/java/jdk1.6.0_37/jre/bin/java": cwd => "/tmp", path => ["/usr/bin", "/usr/sbin"] require } # this is commented as it was not installing any packages then, # Package['java_docs'] -> Package['java_dbdocs'] -> Package['java_db_demo'] -> Package['java_demo'] -> Package['java_client'] -> Package['java_db_core'] -> Package['java_commons'] -> Package['jdk'] } 

哪里有相互依存关系,你可以使用“要求”。

 package { "mysql-python": ensure => installed, provider => pip, require => Package["libmysqlclient-dev"]; }