Я свежее мясо с шеф-поваром.Я использую chef для управления экземпляром ec2, и кажется, что он работает.Когда я вхожу в окно, я запускаю следующее, чтобы увидеть, что происходит.
sudo chef-client -i 60
Я замечаю, что моя установка для pytimer продолжает переустанавливаться.Как изменить рецепт, чтобы он устанавливался только один раз, если в рецепте не было изменений?
[Thu, 29 Mar 2012 00:28:01 +0000] INFO: Processing easy_install_package[hash_ring] action install (nginx_base::default line 107)
[Thu, 29 Mar 2012 00:28:02 +0000] INFO: Processing bash[compile_proto_source_source] action run (PyTimer::default line 8)
[Thu, 29 Mar 2012 00:28:02 +0000] INFO: bash[compile_proto_source_source] sh("bash" "/tmp/chef-script20120329-23998-1te88gz-0")
timeout-0.1.2/
timeout-0.1.2/PKG-INFO
timeout-0.1.2/setup.py
timeout-0.1.2/timeout.py
running install
running build
running build_py
copying timeout.py -> build/lib.linux-x86_64-2.7
running install_lib
copying build/lib.linux-x86_64-2.7/timeout.py -> /usr/local/lib/python2.7/dist-packages
byte-compiling /usr/local/lib/python2.7/dist-packages/timeout.py to timeout.pyc
running install_egg_info
Removing /usr/local/lib/python2.7/dist-packages/timeout-0.1.2.egg-info
Writing /usr/local/lib/python2.7/dist-packages/timeout-0.1.2.egg-info
version = node[:PyTimer][:version]
remote_file "#{Chef::Config[:file_cache_path]}/timeout-#{version}.tar.gz" do
source "http://pypi.python.org/packages/source/t/timeout/timeout-#{version}.tar.gz"
#action :create_if_missing
end
bash "compile_proto_source_source" do
cwd Chef::Config[:file_cache_path]
code <<-EOH
tar -xvf timeout-#{version}.tar.gz
cd timeout-#{version}
sed 's/signal.alarm(self.timeout)/signal.setitimer(signal.ITIMER_REAL,self.timeout)/g' -i timeout.py
python setup install
EOH
end