Есть какие-нибудь указания по настройке клиента Chef Push Jobs на macOS 10.13? - PullRequest
0 голосов
/ 04 мая 2018

Я пытаюсь настроить клиент chef-push-jobs на узле macOS 10.13.

Вот что я сделал до сих пор:

  • Установленный клиент push-jobs для macOS из Загрузки Chef
  • Создан файл конфигурации с именем push-jobs-client.rb, который выглядит примерно так:

    chef_server_url   'https://chef.XXXXX.com/organizations/XXXXX'
    node_name         'default-macos-1013'
    client_key        '/opt/chef/embedded/ssl/cert.pem'
    trusted_certs_dir '/opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.8.5/spec/data/trusted_certs'
    verify_api_cert   true
    ssl_verify_mode   :verify_peer
    allow_unencrypted true
    log_level         :info
    log_location      STDOUT
    
    whitelist({"chef-client"=>"chef-client"})
    
    Mixlib::Log::Formatter.show_time = false
    
  • Запустил эту команду:

    /usr/local/bin/pushy-client -c push-jobs-client.rb
    

Сообщение об ошибке:

/ Opt / кнопочные рабочие-клиент / встроенный / Библиотека / рубин / драгоценные камни / 2.4.0 / драгоценные камни / Opscode-напористый-клиент-2.4.8 / Библиотека / pushy_client.rb: 236: в `rescue in get_config ': не удалось загрузить конфигурацию push-заданий (RuntimeError)

Вход:

INFO: [jenkins03] Setting reconfigure deadline to 2018-05-04 12:05:31
+0200
INFO: [jenkins03] using config file path: '/opt/push-jobs-client/push-jobs-client.rb'
INFO: [jenkins03] Using node name: jenkins03 
INFO: [jenkins03] Using org name: XXXXX 
INFO: [jenkins03] Using Chef server: https://chef.XXXXX.com/organizations/XXXXX 
INFO: [jenkins03] Using private key: /opt/chef/embedded/ssl/cert.pem 
INFO: [jenkins03] Incarnation ID: 633f168d-c8c0-469e-a9c0-8d6658b3b3d5 
INFO: [jenkins03] Allowing fallback to unencrypted connection: true 
INFO: [jenkins03] Starting client ... 
INFO: [jenkins03] Retrieving configuration from https://chef.XXXXX.com/organizations/XXXXX//pushy/config/jenkins03: ... 
INFO: Could not download push jobs config

Похоже, соединение установлено, и аутентификация прошла успешно, но по какой-то причине клиент push-jobs-client не может получить конфигурацию с сервера.

Я попытался перейти по URL из журнала вручную в браузере непосредственно на узле, и я вижу это в окне браузера:

{"error":["missing required authentication header(s) 'X-Ops-UserId', 'X-Ops-Timestamp', 'X-Ops-Sign', 'X-Ops-Content-Hash'"]}

Так мне интересно, сделал ли я что-то не так в конфигурации? Или, может быть, это ошибка в клиенте push-jobs для macOS?

1 Ответ

0 голосов
/ 13 июня 2018

Я обнаружил, что ключ client_key в /opt/chef/embedded/ssl/cert.pem не был ключом cient_key, подписанным сервером chef. Правильный ключ клиента был найден в /etc/chef/client.pem

Теперь все работает, но я оставлю здесь ответ на случай, если у кого-то еще возникнет аналогичная проблема.

...