簡體   English   中英

Puppet評估錯誤:評估資源語句時出錯,無法找到聲明的類

[英]Puppet Evaluation Error: Error while evaluating a Resource Statement, Could not find declared class

我正在嘗試使用github上發布的指令部署一個名為Bag-Of-Holding的應用程序 - https://github.com/ribeiroit/boh-puppet

我運行命令: sudo puppet apply /etc/puppet/manifests/site.pp我得到以下錯誤:

錯誤:評估錯誤:評估資源聲明時出錯,無法在節點lab1-hp-elitebook-8570p上的/etc/puppet/manifests/site.pp:2:2找到聲明的類boh

似乎木偶很難找到已經在清單文件夾中的類boh

這是我的目錄樹:

/etc/puppet
├── code
├── manifests
└── modules
    └── boh-puppet
        ├── manifests
        └── templates

我的site.pp文件位於/etc/puppet/manifests ,它看起來像這樣:

node 'lab1-hp-elitebook-8570p' {
  class { 'boh':
    python_version   => 3,
    environment      => 'dev',
    language         => 'en',
    debug            => 'True',
    create_superuser => 'true',
    pkg_checksum     => '86b0164f7fd6c5e4aa43c8f056f08cea'
  }
}

並且init.pp文件具有class {boh }並且位於: /etc/puppet/modules/boh-puppet/manifests

任何想法如何解決這一問題?

在自動加載時,Puppet需要某些名稱空間限制和約定以及模塊目錄結構和類名。 在這種情況下,你的問題可以簡單地大部分解決,干凈地通過重命名你的模塊目錄按照通常慣例boh-puppet簡單地boh 這將解決您的問題。

有關更多信息,請參閱此處的文檔: https//puppet.com/docs/puppet/4.10/lang_namespaces.html

由於您正在使用具有絕對路徑的puppet apply ,您還需要通過將命令修改為以下命令來提供模塊的路徑: sudo puppet apply --modulepath=/etc/puppet/modules /etc/puppet/manifests/site.pp

您沒有正確調用模塊名稱。 這應該工作:

node 'lab1-hp-elitebook-8570p' {
        class { 'boh-puppet':
        python_version => 3,
        environment => 'dev',
        language => 'en',
        debug => 'True',
        create_superuser => 'true',
        pkg_checksum => '86b0164f7fd6c5e4aa43c8f056f08cea'
        }
}

或者fqn:

node 'lab1-hp-elitebook-8570p' {
        class { '::boh-puppet':
        python_version => 3,
        environment => 'dev',
        language => 'en',
        debug => 'True',
        create_superuser => 'true',
        pkg_checksum => '86b0164f7fd6c5e4aa43c8f056f08cea'
        }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM