Назначение ролей/рецептов через client.rb в шеф-поваре

Мой файл Client.rb выглядит так, как указано ниже

On Node
cat client.rb 
log_level        :info
log_location     STDOUT
chef_server_url  "https://chef.my.com:443"
validation_client_name "mychef-validator"
environment "Rd-Staging"     

и среда "Rd-Staging" имеют приведенную ниже информацию.

На рабочей станции Chef:

knife environment show Rd-Staging
chef_type:           environment
cookbook_versions:
  apache-yum:         = 0.1.0
default_attributes:
description:         Rd-Staging
json_class:          Chef::Environment
name:                Rd-Staging
override_attributes:

После этого всякий раз, когда я нажимаю узел формы шеф-повара. Узел не компилирует поваренную книгу, пока я запускаю тот же самый шеф-клиент с рабочей станции Chef, который компилирует ту же поваренную книгу на том же узле.

Каким образом можно назначать рецепты/роли через client.rb. Я пытаюсь добиться того, чтобы всякий раз, когда появляется узел, он регистрировался в определенной среде, а затем запускал специальные рецепты среды. Пожалуйста, имейте в виду, что я не могу изменить first-boot.json, потому что в это время нужно создать несколько first-boot.json для разных проектов.


person AL-Linux-AWS    schedule 23.12.2014    source источник


Ответы (1)


Вы не можете назначить список выполнения через файл конфигурации client.rb. В общем, не стоит так ставить окружение, оно там в основном для повара-соло. Список выполнения и данные среды находятся в объекте Node на сервере Chef. Вы можете редактировать эти данные через knife node edit или через веб-интерфейс Chef Server.

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

person coderanger    schedule 23.12.2014