2017-12-11 10 views
0

ファクタ引数をpuppet applyに渡そうとしています。ここに私が試したものです:人形問題を引数に渡すことができません。

export FACTER_command="start" 
puppet apply site.pp $FACTER_command 

と私のコードでは、私が持っている:

exec { 'some_exec': 
    command => '/bin/bash -c "/some/path/to/scripts.sh -t some_arg $::command"', 

を...

は、私は、このメッセージのエラーを取得:

Error: '/bin/bash -c "/some/path/to/scripts.sh -t some_arg $::command"' returned 1 instead of one of [0] 
Error: /Stage[main]/Standard/Exec[some_exec]/returns: change from 'notrun' to ['0'] failed: '/some/path/to/scripts.sh -t some_arg $::command"' returned 1 instead of one of [0] 

誰もがいずれかを持っていますこれについてのアイデア?

UPDATE

class standard{ 

     $param_test="/some/path/to/scripts.sh -t some_arg ${::command}" 
     file{'kick_servers': 
       ensure => 'file', 
       path => '/some/path/to/scripts.sh', 
       owner => 'some_user, 
       group => 'some_user', 
       mode => '0755', 
       notify => Exec['some_exec'] 
     } 

     exec { 'some_exec': 
       command => '/bin/bash -c ${param_test}', 
       cwd => "$home_user_dir", 
       timeout  => 1800 
     } 
} 

node default { 
    include standard 
} 

そして、私ははいこのエラー

Error: '/bin/bash -c $param_test' returned 2 instead of one of [0] 
Error: /Stage[main]/Standard/Exec[some_exec]/returns: change from 'notrun' to ['0'] failed: '/bin/bash -c $param_test' returned 2 instead of one of [0] 

答えて

2

を取得します。あなたがそこに修正する必要があり、少なくとも二つの問題があります。

1/

ときに実際にあなたの問題の直接の原因は、あなたは、あなたが文字列リテラル$::commandを意味する人形を言って、単一引用符内の$::commandを同封していますさそこには事実の価値が欲しい。

2/

あなたは puppet applyの引数として $FACTER_commandを渡すべきではありません

。環境変数としてエクスポートするだけで済みます(すでに行っています)。

ので:へ

変更puppet apply

exec { 'some_exec': 
    command => "/bin/bash -c '/some/path/to/scripts.sh -t some_arg ${::command}'", 
    ... 
} 
+0

が、私は心の中で、私はまたでそれをしようとした行為で持っていた実際には、あなたに感謝:

puppet apply site.pp 

変更するには、EXECエラーステータスとして2を返す以外は同じエラー: '[0] 'の代わりに2を返しました。 – user1611830

+0

あなたが質問したとおりに質問に答えることができます。すべての関連情報 –

+0

私のマニフェストポストのコードを更新し、私が受け取ったエラーを示しました – user1611830

関連する問題