[英]puppet exec returned 1 instead of [0]
我正在嘗試運行puppet來配置虛擬機。 執行失敗的命令是Exec。
exec { 'configure openssl-arm':
logoutput => on_failure,
loglevel => verbose,
command => '/opt/openssl-1.0.1g/Configure dist --prefix=/opt/openssl-1.0.1g/armbuild',
cwd => '/opt/openssl-1.0.1g',
user => root,
environment => 'CC=arm-axis-linux-gnueabi-gcc'
}
我非常有信心這是一個木偶戲。
我試圖運行的命令是通過exec 。 如果我不熟悉ssh,可以手動運行該命令。
木偶: err:/ Stage [main] // Exec [configure openssl-arm] / returns:從notrun更改為0失敗:/opt/openssl-1.0.1g/Configure dist --prefix = / opt / openssl-1.0。 1g / armbuild在/tmp/vagrant-puppet-6/manifests/default.pp:36返回1,而不是[0]之一。
手冊 :
local> vagrant ssh
vagrant@precise32 > sudu su
root@precise32 > export CC=arm-axis-linux-gnuabi-gcc
root@precise32 > /opt/openssl-1.0.1g/Configure dist --prefix=/opt/openssl-1.0.1g/armbuild
....
.... lots of output
....
root@precise32 > echo $?
0
須藤人偶適用
debug: /Schedule[hourly]: Skipping device resources because running on a host
debug: Exec[configure openssl-arm](provider=posix): Executing '/opt/openssl-1.0.1g/Configure dist --prefix=/opt/openssl-1.0.1g/armbuild'
debug: Executing '/opt/openssl-1.0.1g/Configure dist --prefix=/opt/openssl-1.0.1g/armbuild'
err: /Stage[main]//Exec[configure openssl-arm]/returns: change from notrun to 0 failed: /opt/openssl-1.0.1g/Configure dist --prefix=/opt/openssl-1.0.1g/armbuild returned 1 instead of one of [0] at /tmp/build.pp:1
debug: /Schedule[never]: Skipping device resources because running on a host
debug: /Schedule[weekly]: Skipping device resources because running on a host
debug: /Schedule[puppet]: Skipping device resources because running on a host
debug: Finishing transaction -613771238
無業游民的盒子 https://drive.google.com/file/d/0B7B7RIseycQkTGxXczRqVGdDVGs/edit?usp=sharing
聽起來需要更多環境變量來運行您的腳本,而這些腳本在木偶運行期間不存在; 我曾經在Maven構建腳本中遇到過同樣的問題。 編輯您的Exec命令以在build命令之前獲取您的概要文件,因此最終的“腳本”運行如下所示:
#!/bin/bash
source $HOME/.bash_profile
export CC=arm-axis-linux-gnuabi-gcc
/opt/openssl-1.0.1g/Configure dist .......
因此,用人偶術語來說:
exec { 'configure openssl-arm':
command => 'source $HOME/.bash_profile; /opt/openssl-1.0.1g/Configure dist --prefix=/opt/openssl-1.0.1g/armbuild',
cwd => '/opt/openssl-1.0.1g',
user => root,
environment => 'CC=arm-axis-linux-gnueabi-gcc'
}
另外,不要忘記檢查腳本返回的實際值。 也許它運行正常,但由於某些神秘的原因而返回非零值。 這不是我第一次使用Puppet部署軟件包,並且由於錯誤地實現了“狀態”命令,服務初始化腳本需要進行一些后期調整。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.