【问题标题】:Vagrant Puppet Class Not Found Error找不到流浪木偶类错误
【发布时间】:2014-03-27 01:22:26
【问题描述】:

我收到了消息:

Puppet::Parser::AST::Resource 因错误 ArgumentError 失败:在节点 vagrant-ubuntu- 上的 /tmp/vagrant-puppet-1/manifests/site.pp:15 上找不到声明的类 git精确 64.wp.comcast.net

或许最好的办法是亲眼目睹这一点。我已经创建了我正在使用的确切清单的 GitHub 存储库。是这里: https://github.com/jamorat/puppet-example

清单和 git 模块在那里。如果你有 Vagrant,这可以是 vagrant up,你会自己看到错误。在这里收到答案和/或作为提交(仍然会在此处给出答案)会很酷。

非常感谢!

【问题讨论】:

    标签: vagrant puppet


    【解决方案1】:

    您需要configure vagrant 与 puppet 模块路径。附带说明一下,您通常还将清单和模块文件夹保存在同一个文件夹中,而不是清单中的模块。

    【讨论】:

    • 谢谢,克里斯 - 但具体我需要采取哪些步骤?
    • @user3078326 您需要将puppet.module_path 设置为您的模块所在的位置,在您的情况下为"manifests\modules"
    • 非常感谢!我很欣赏这个正确的答案。只是一个想法,但我鼓励将您评论中的信息添加到原始答案中。它击中了头上的钉子。再次感谢您。
    • 尽管我尝试设置puppet.module_path,但出于某种原因,Puppet 并未选择模块路径。最后stackoverflow.com/a/17864977/3143538 的另一种方法帮助我解决了问题
    【解决方案2】:

    这个:

    class{ git:
    svn => 'installed',
    gui => 'installed',
    }
    

    告诉 puppet 基于名为 git 的类创建一个资源,该类有 2 个参数:svn 和 gui。这样的类声明在您发布的任何地方都不存在。如果是,它看起来像:

    class git ($svn, $gui) {
    
      package {'svn':
        ensure => $svn,
      }
    
      # Whatever 'gui' is, making package b/c use of "installed"
      package {'gui':
        ensure => $gui,
      }
    }
    

    另一种方法是声明一个类并使用“include”指令包含它。

    推荐Language: Classes好读

    【讨论】:

    • 只是好奇你是否看过 git repo?我感谢您的回复,但缺少信息。是的, git 类作为文件夹在模块中,所以我认为您的回复没有考虑到这一点。但我非常感谢您的尝试。
    • 只是好奇你是否试图在我在github.com/jamorat/puppet-example 提供的 github 链接上流浪我的 repo,在那里你可以看到实际的 pp 和实际的目录结构(git 模块所在的位置。 )
    • 啊,只是在这里发生的事情。检查你的 puppet.conf。它应该有一个清单和模块设置,告诉它在哪里可以找到它们。通常是 /etc/puppet/manifests 和 /etc/puppet/modules。 site.pp 进入 manifests 目录, git 模块进入 modules 目录。错误信息肯定是说找不到 git 模块。
    • 你能vagrant up我的实际例子吗?是的,错误消息是说它找不到 git 模块 - 尽管它似乎确实在正确的位置寻找它。我已经确认该模块似乎是它正在寻找的地方。感谢您花时间撰写回复,但这是一个一般性的理论猜测,可能并没有真正解决这个具体问题。
    • “似乎是它正在寻找的地方”显然没有发生 b/c 它找不到它。模块路径也可以在命令行上设置,我怀疑这是失败的地方。在 github 上查看您的 vagrant 文件时,我看到设置了清单路径,但没有模块路径。没有模块路径——找不到它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-26
    相关资源
    最近更新 更多