2014-09-01 99 views
2

我只是想讓我的頭繞着木偶,並決定陷入使用一個非常簡單的模塊。無法找到我的傀儡模塊

我使用的木偶版本3.6.2

我用命令

puppet module generate tsv-tsvversion 

它創建了以下模塊存根

/etc/puppet/modules/ 
└── tsv-tsvversion 
    ├── manifests 
    │   └── init.pp 
    ├── metadata.json 
    ├── Rakefile 
    ├── README.md 
    ├── spec 
    │   ├── classes 
    │   │   └── init_spec.rb 
    │   └── spec_helper.rb 
    └── tests 
     └── init.pp 

中的init.pp清單看起來像

class tsvversion { 
     group {'test': 
        ensure => present, 
       } 

     user { 'matt': 
         ensure   => 'present', 
         comment   => 'Matt', 
         gid    => 'test', 
         home    => '/home/matt', 
         password   => '', 
         password_max_age => '-1', 
         password_min_age => '-1', 
         shell   => '/bin/bash', 
         uid    => '2002', 
         managehome  => 'true', 
      } 
} 

我模塊似乎是在ModulePath進行

/etc/puppet/modules:/usr/share/puppet/modules 

艙單/ site.pp看起來像

node default { 

Package { allow_virtual => false, } 

    include 'tsvversion' 
} 

當我在木偶大師

puppet agent --test --verbose 

它無法運行此與

Info: Retrieving pluginfacts 
Info: Retrieving plugin 
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find class tsvversion for puppet.tsvtest on node puppet.tsvtest 
Warning: Not using cache on failed catalog 
Error: Could not retrieve catalog; skipping run 

在發佈之前,我已經檢查過以確保我使用的是小寫字母,而且不會出現愚蠢的字符。

我很努力去理解它爲什麼會失敗。

任何人都可以幫忙嗎?

感謝

馬特

+0

//,你得到'puppet module build/etc/puppet/modules/tsv-tsvversion'來執行嗎? – 2015-12-02 04:49:58

回答

3

你的模塊的根目錄不能命名tsv-tsvversion。作者前綴僅用於控制Forge行爲的元數據,以及使用puppet module install下載的元數據。

這可能不是你的任何錯誤,而是puppet module generate子命令的一個缺點。 (這可能甚至是一個bug。)

嘗試重命名或鏈接您的模塊到/etc/puppet/modules/tsvversion。否則,你的做法看起來很合理

+0

謝謝這麼多!我將模塊從tsv-tsvversion重命名爲tsvversion,它可以工作。 – MattY 2014-09-01 23:26:34