2016-11-07 18 views
1

人形エージェントでファイルを変更しようとしていますが、以下のコードを記述しました。パペットマニフェストでソースを使用中にエラーが発生しました

modules/ 
├── helloworld 
│ └── manifests 
│  ├── init.pp 
│  └── motd.pp 
└── ssh 
    ├── manifests 
    | └── init.pp 
    └── ssh_config 

私の人形マニフェストコード:以下

# modules/ssh/manifests/init.pp 
class ssh { 
    package { 'openssl': 
    ensure => present, 
    before => File['/etc/ssh/sshd_config'], 
    } 

    file {'ssh_config': 
    ensure => file, 
    path => '/etc/ssh/sshd_config', 
    mode => "600", 
    source => "puppet:///modules/ssh/ssh_config", 
    } 

    service {'sshd': 
    ensure => running, 
    enable => true, 
    subscribe => File['/etc/ssh/sshd_config'], 
    } 
} 

は、メインマニフェストのコードです:

以下
# manifests/site.pp 
node default { 
    class { 'ssh': } 
} 

は、私が受けていますエラーです:

Info: Using configured environment 'production' 
Info: Retrieving pluginfacts 
Info: Retrieving plugin 
Info: Caching catalog for dheera.asicdesigners.com 
Info: Applying configuration version '1478497316' 
Error: /Stage[main]/Ssh/File[ssh_config]: Could not evaluate: Could not retrieve information from environment production  source(s)  
puppet:///modules/ssh/ssh_config 
Notice: /Stage[main]/Ssh/Service[sshd]: Dependency File[ssh_config] has failures: true 
Warning: /Stage[main]/Ssh/Service[sshd]: Skipping because of failed dependencies 
Notice: Applied catalog in 0.21 seconds 

答えて

2

あなたssh_configファイルの場所neあなたがやっているようにsource属性のPuppet URIで使用するモジュールのfilesディレクトリにあるようにします。

modules/ 
├── helloworld 
│ └── manifests 
│  ├── init.pp 
│  └── motd.pp 
└── ssh 
    ├── manifests 
    | └── init.pp 
    └── files 
     ├── ssh_config 

また、あなたはおそらくopensshなくopensslであるためにあなたのpackageリソースを意味しました。

+0

ありがとうたくさんのマットそれは動作します。上記はちょうど私が試みている例です – sagar

+0

@sagarよく聞いてください。役に立ったら私の答えを受け入れてください。 –

関連する問題