Chef recipe выдает ошибку как неопределенный метод 'split'

Привет, я использую код, приведенный ниже, в моем рецепте шеф-повара, и он отлично работает со всеми другими существующими серверами, но не работает с моим новым сервером.

user_array = node
node['user']['user_array_node_attr'].split("/").each do |hash_key|
  user_array = user_array.send(:[], hash_key)
end

И выдает ошибку как

FATAL: NoMethodError: undefined метод 'split' для nil: NilClass

0
задан 9 March 2017 в 16:46
1 ответ

node['user']['user_array_node_attr'] не определено, но node['user'] определено. Проверьте спецификацию своего атрибута, чтобы убедиться, что он имеет значение. Откуда это значение?

Если оно исходит из другого рецепта, вы можете оказаться в ситуации, когда ваш список run_list предполагает, что у него есть значение перед рецептом, который определяет его выполнение. Этот сценарий может произойти со временем при изменении книг рецептов -- предыдущая версия правильно устанавливает атрибут и заменяет его, поэтому существующие узлы работают нормально, но новые не работают.

.
0
ответ дан 5 December 2019 в 08:32

Теги

Похожие вопросы