Я написал простой сценарий шеф-повара. В каталоге/DirectoryPath есть папка t1. Теперь я создаю новую папку в каталоге/DirectoryPath/t5. Но метод listDirectory() дает тот же вывод, что и новый каталог не создается. Я на MAC с поваром 11,4Выполнение команды в функции в chef-solo
Мой сценарий, как показано ниже
recipe.rb
def listDirectory()
ls = `ls ~/Delete`
return ls
end
log(listDirectory())
directory '/DirectoryPath/t5' do
action :create
end
log(listDirectory())
Выход
Recipe: test::default
* log[t1] action write[2015-11-03T15:02:47-08:00] INFO: Processing log[t1] action write
[2015-11-03T15:02:47-08:00] INFO: t1
* directory[/DirectoryPath/t5] action create[2015-11-03T15:02:47-08:00] INFO: Processing directory[/DirectoryPath/t5] action create (test::default line 10)
[2015-11-03T15:02:47-08:00] INFO: directory[/DirectoryPath/t5] created directory /DirectoryPath/t5
- create new directory /DirectoryPath/t5
* log[t1] action write[2015-11-03T15:02:47-08:00] INFO: Processing log[t1] action write
[2015-11-03T15:02:47-08:00] INFO: t1
По мне 2-й журнал оператор должен показывать папки t1 и t5, но он показывает только t1. Могу ли я узнать, что может быть причиной того, что команда возвращает тот же результат, даже если произошли некоторые изменения. И как мне избежать этого?
Если я могу добавить ссылку на [этот вопрос] (http://stackoverflow.com/questions/25980820/please-explain-compile-time-vs-run-time-in-chef-recipes), Tejay сделал хорошее объяснение двух пух. – Tensibai