Я изучаю учебник «Учитесь устанавливать и управлять своим собственным сервером Chef/Управление узлом на вашем сервере Chef» на сайте Learn.chef.io, но столкнулся с проблемой, о которой Google, по-видимому, не знает.
Я пытаюсь запустить все локально, поэтому настройте следующее:
- Chef Workstation — мой ноутбук с Fedora 20
- Chef Server — виртуальная машина под управлением CentOS 7 минимум
- Chef Node — еще одна виртуальная машина с минимальной CentOS 7
Я настроил рабочую станцию и сервер, пользователей и организации, извлек Starter Kit, и все работает нормально.
Когда я пытаюсь загрузить свой Chef Node, он терпит неудачу следующим образом:
$ knife bootstrap centos-slave1.example.com --ssh-user <me> --sudo --identity-file ~/.ssh/id_dsa --node-name centos-slave1 --run-list 'recipe[hello_chef_server]'
Doing old-style registration with the validation key at /home/<me>/chef-repo/.chef/merin-validator.pem...
Delete your validation key in order to use your user credentials instead
Connecting to centos-slave1.example.com
ERROR: RegexpError: end pattern with unmatched parenthesis: /^(for$/i
Если я удалю этот ключ проверки, он все равно выйдет из строя с той же ошибкой:
Creating new client for centos-slave1
Creating new node for centos-slave1
Connecting to centos-slave1.merin
ERROR: RegexpError: end pattern with unmatched parenthesis: /^(for$/i
Я не вносил никаких особых изменений во что-либо помимо шагов учебника. Все порты прослушиваются, брандмауэры открыты между всеми компонентами, ключи ssh работают - в основном подключение во всех отношениях кажется нормальным.
Я также пробовал эту команду начальной загрузки, используя свой пароль, и даже пытался удалять флаги по одному (вплоть до просто «загрузки ножа») - всегда приводило к одной и той же ошибке.
Любые идеи или даже просто толчок в правильном направлении были бы замечательными. Рад работать над собой, но я застрял на этом некоторое время (даже начинал несколько раз).
Заранее спасибо, Мэтт
EDIT: добавлен knife.rb (с заменой конфиденциальной информации)
$ cat .chef/knife.rb
# See https://docs.getchef.com/config_rb_knife.html for more information on knife configuration options
current_dir = File.dirname(__FILE__)
log_level :info
log_location STDOUT
node_name "<me>"
client_key "#{current_dir}/<me>.pem"
validation_client_name "merin-validator"
validation_key "#{current_dir}/merin-validator.pem"
chef_server_url "https://chef-master.example.com/organizations/merin"
cookbook_path ["#{current_dir}/../cookbooks"]
knife.rb
? - person StephenKing   schedule 06.08.2015~/.ssh/config
, что SSH-клиент ruby может не понять? - person StephenKing   schedule 06.08.2015