Я пытаюсь раскрутить часть рецепта шеф-повара из вышестоящей поваренной книги (ceph) в своем рецепте поваренной книги-обертки. Вкратце, блок создания пользовательского пула ceph выполняется слишком рано в развертывании, до того, как будут запущены и запущены определенные требуемые службы. Я перемещаю его в новый рецепт оболочки, который будет выполняться дальше по списку выполнения, когда службы работают.
С этой целью я пытаюсь перемотать приведенный ниже блок из рецепта восходящего потока ceph::mon, а затем выполнить его позже в моем новом рецепте оболочки. Мой код в настоящее время выглядит следующим образом:
include_recipe 'workday::chef-client'
require 'chef/rewind'
include_recipe 'ceph::mon'
if node['ceph']['user_pools']
# Create user-defined pools
node['ceph']['user_pools'].each do |pool|
ceph_pool pool['name'] do
unwind "pool"
pg_num pool['pg_num']
create_options pool['create_options'] if pool['create_options']
end
end
end
Вывод ошибки от шеф-клиента:
NoMethodError
-------------
undefined method `unwind' for Chef::Resource::CephPool
Я пробовал различные операторы раскрутки: например.
unwind "ceph_pool pool['name']"
unwind "pool['name']"
Раньше я использовал размотку/перемотку ресурсов (например, «выполнить x»), но я не уверен, как правильно раскрутить это. Я прочитал ограниченную документацию, доступную на сайте chef-rewind, но не могу найти решения для этого.