Назад | Перейти на главную страницу

Почему «мешок с данными ножа из файла» не может найти существующий файл json на сервере Chef?

Резюме:

У меня проблема с «пакетом данных ножа из файла», где нож не распознает файл пакета данных .json, извлеченный из удаленного репозитория git.

Задний план:

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

В настоящее время я извлек копию нашего репозитория git и установил путь к кулинарной книге и путь к пакету данных в knife.rb. Я также загрузил кулинарные книги, внес изменения и т. Д.

Подробности:

Когда я пытаюсь загрузить наши пакеты данных .json, выполняя «добавление пакета с данными ножа из файла ФАЙЛ ПАПКИ», похоже, что он работал, пока я не сделал «список пакетов с данными ножа», и он оказался пустым. Поэтому я решил попробовать добавить опцию редактирования в конце, чтобы посмотреть, что загружается, если это так. Это ошибка, которую я получаю:

knife data bag from file local_settings test.json -e nano
ERROR: Could not find or open file 'test.json' in current directory or in 'data_bags/local_settings/test.json'

Файл пакета данных существует в нужном месте в протестированном рабочем файле json. Я также иногда получал сообщение об ошибке "не удалось открыть пакет данных" local_settings ".

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

Приветствуются любые решения, советы или указатели в правильном направлении.

Я не думаю, что использовать -e nano вариант knife data bag from file (хотя справка командной строки подразумевает иное), но это следует просто игнорировать. Эта ошибка означает, что нож не может найти указанный файл json. Когда вы говорите, что предмет был в нужном месте, где именно? Обратите внимание, что нож будет смотреться относительно вашего текущего каталога, а не вашего репозитория.

Когда эта проблема будет устранена, вы столкнетесь с другой - вам нужно создать пакет данных, прежде чем вы сможете добавить в него элемент. Он должен появиться в knife data bag list вывод, как только он был создан:

 $ knife data bag create local_settings
Created data_bag[local_settings]
 $ knife data bag list
  local_settings

Документацию по «сумке с данными о ножах» можно найти здесь: http://wiki.opscode.com/display/chef/Managing+Data+Bags+With+Knife

я делаю knife data bag list и появляется пустой.

Это означает, что пакет данных local_settings еще не создан.

Итак, должно быть создано:

$> knife data bag create local_settings
Created data_bag[local_settings]

Затем он должен появиться в списке, если пакеты данных сервера:

$> knife data bag list
  local_settings

Затем можно загрузить файл пакета данных {{test.json}}.

Кроме того, вот хорошее объяснение того, что на самом деле происходит: [ссылка на вики-сайте CHEF].