При отладке ошибок в рецептах шеф-повара мне обычно нравится заходить на проблемную машину, набирая «shef -z». В случае, если был предыдущий успешный запуск, зарегистрированный run_list автоматически загружается со всеми соответствующими атрибутами и рецептами, так что я могу сразу приступить к проверке ошибочных строк.
Проблема в том, что если chef-client не работает при первом запуске, run_list оказывается пустым, а shef даже удаляет (очень необходимые) рецепты из кеша, говоря, что "его поваренная книга больше не нужна на этом клиенте". Есть ли способ заставить shef разрешить мне использовать мой run_list?
Официальная вики упоминает:
«Список выполнения будет установлен так же, как и обычный запуск клиента шеф-повара».
но попытка "-j" не помогает.
Я также попытался запустить соло-режим ("-s -j"), как описано в этом запись в блоге. Он загружает run_list (не расширяя его, что странно), но когда я пытаюсь что-то сделать, я получаю что-то вроде:
«Tomcat для кулинарной книги не найден. Если вы загружаете tomcat из другой кулинарной книги, убедитесь, что вы настроили зависимость в своих метаданных».
Учтите, что в моем рецепте есть пара десятков зависимостей глубиной в 3 уровня, так что вручную вставлять весь код в shef не вариант. Мой текущий обходной путь — загрузить модифицированный рецепт, закомментировав все, возможно, оскорбительные части (и продолжить вручную оттуда), но я хотел бы иметь лучшую альтернативу.