Puppet:无法找到包tomcat

时间:2014-10-19 23:16:43

标签: java tomcat debian puppet google-compute-engine

我最近开始使用puppet,我正在尝试使用gce_computeapache-tomcat部署Web服务器。要部署Web服务器,我安装模块puppetlabs-javapuppetlabs-tomcat,并使用apache-tomcat提供的代码创建puppet的实例:

class { 'java': }
class { 'tomcat': }
class { 'epel': }->
tomcat::instance { 'default':
  install_from_source => false,
  package_name        => 'tomcat',
}->
tomcat::service { 'default':
  use_jsvc     => false,
  use_init     => true,
  service_name => 'tomcat',
}

但是当我的代理人拉出清单时,我收到了这个错误:

  

执行'/ usr / bin / apt-get -q -y -o DPkg :: Options :: = - force-confold install tomcat'返回100:读取包列表......

     

puppet-agent [3302]:构建依赖关系树...

     

puppet-agent [3302]:阅读州信息......

     

puppet-agent [3302]:E:无法找到包tomcat

你能帮我弄清楚为什么会这样,以及我如何解决这个错误。提前谢谢。

2 个答案:

答案 0 :(得分:1)

该错误来自apt-get。 Puppet使用运行它的系统上可用的包管理器。在Debian的情况下,它使用apt。

如果您运行apt-get install tomcat,则会收到相同的错误,因为没有名为tomcat的软件包。也许您的意思是tomcat6tomcat7

答案 1 :(得分:0)

Puppet使用自动加载器(https://docs.puppetlabs.com/puppet/latest/reference/lang_namespaces.html)来查找该类,它正在运行,因为它正在运行以下载软件包。

解决此问题的最佳方法是在您想要的tomcat版本上运行apt-get install。您可能会发现在代理程序运行的puppet输出中,您从stdout中看到的输出相同。如果是这种情况,请确保您可以访问apt repos,并且在/ etc / apt * .d目录中具有正确的配置。