2016-05-17 51 views
1

我是新來的木偶,我無法應用.pp來改變motd。如何將.pp應用到節點

我有下的/ etc/puppetlabs /代碼/模塊/的HelloWorld /表現

init.pp

class helloworld { 
    notify { 'hello, world!': } 
} 

node 'kp2.keepy-i.com'{ 
    include helloworld 
} 

motd.pp

class helloworld::motd { 
    file { '/etc/motd': 
    owner => 'root', 
    group => 'root', 
    mode => '0644', 
    content => "hello, world!\n", 
    } 
} 

如果我執行木偶代理-t --verbose

Info: Using configured environment 'production' 
Info: Retrieving pluginfacts 
Info: Retrieving plugin 
Info: Caching catalog for kp2.keepy-i.com 
Info: Applying configuration version '1463497694' 
Notice: Applied catalog in 0.04 seconds 

但沒有什麼變化。

預先感謝您

回答

1

/etc/puppetlabs/code/modules是一個基礎模塊路徑。您不應該將通過聲明調用的模塊放在那裏。你應該把你引用的模塊(例如stdlib)放在那裏。該模塊屬於/etc/puppetlabs/code/environments/'environment'/modules/。我建議閱讀有關目錄環境的文檔。

更重要的是,您正在編譯默認環境'production'的目錄。爲此使用的默認清單將在/etc/puppetlabs/code/environments/production/manifests/site.pp。您的節點定義屬於那裏。節點定義中的include helloworld將調用/etc/puppetlabs/code/environments/environment/modules/helloworld/init.pp的模塊,該模塊的類名應爲helloworld,以便自動加載。如果您的init.pp包含include helloworld::motdclass { 'helloworld::motd': },那麼將從helloworld調用該清單,您將獲得所需的行爲。

相關問題