Почему «нож» не учитывает мой параметр --config? - PullRequest
0 голосов
/ 05 июля 2019

Я впервые настраиваю сервер Chef.Чтобы проверить, я создал экземпляр Docker Chef (https://hub.docker.com/r/cbuisson/chef-server/),, и он успешно запускается. Я могу войти в систему и получить доступ к серверу из браузера.

Однако я пытаюсьиспользовать некоторые «ножевые» команды для этого контейнера, и до сих пор не смогли.

MacBook-Pro:chef user1$ knife node list --config ./.chef/config.rb
ERROR: CONFIGURATION ERROR:127.0.0.1 is an invalid chef_server_url. The URL must start with http://, https://, or chefzero://.
MacBook-Pro:chef user1$ cat ./.chef/config.rb
chef_server_url 'https://127.0.0.1/'
MacBook-Pro:chef user1$

Изменение URL-адреса в файле конфигурации на любой другой, кроме 127.0.0.1, по-прежнему выдает эту ошибку - так какНасколько я могу судить, опция --config не работает так, как описано в документации, если только я не серьезно что-то неправильно понимаю. Мне не удалось найти файл конфигурации, из которого она читается, но очевидно, что это неодин я указываю с флагом --config.

другие способы устранения неполадок:

MacBook-Pro:cookbooks$ echo $KNIFE_HOME
/Users/PERSON/.chef/config.rb
MacBook-Pro:cookbooks$ cat $_
chef_server_url 'https://localhost/organizations/COMPANY'
cookbook_email 'person@company.com'

MacBook-Pro:cookbooks $ knife supermarket download hostsfile --config $KNIFE_HOME
ERROR: CONFIGURATION ERROR:127.0.0.1 is an invalid chef_server_url. The URL must start with http://, https://, or chefzero://.
MacBook-Pro:cookbooks$ knife -VV
ERROR: You need to pass a sub-command (e.g., knife SUB-COMMAND)

Usage: knife sub-command (options)
    -s, --server-url URL             Chef Infra Server URL.
[truncated]

1 Ответ

1 голос
/ 07 июля 2019

вы не указали, как вы используете исполняемый файл chef - через chefdk или через chef rubygem .

мой фаворит - использовать шеф-повара rubygem, см. this если концепция для вас нова

Возвращаясь к вашему вопросу, чтобы убедиться, что ваш файл конфигурации ножа (./.chef/config.rb) читается исполняемым файлом chef, вы можете поместить в файл конфигурации маленький пробный код рубина, который будет выводиться после прочтения файла. поместите что-то вроде следующего в вашу конфигурацию ножа:

# .chef/config.rb
puts 'my knife configuration'

теперь выполните команду ножа еще раз и проверьте вывод my knife configuration. если его там нет, попробуйте повторить его в контексте пакета, так как это может решить вашу боль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...