У меня проблема с «пакетом данных ножа из файла», где нож не распознает файл пакета данных .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].