#chef-infra
#шеф-повар-ниже
Вопрос:
Начинаю с шеф-повара и испытываю трудности с запуском настройки ролей / среды. Не могу понять, чего мне не хватает.
Cookbooks: nginx_webserver
recipes: default.rb, config_test, config_dev
Roles:
webserver
Environment:
dev, qa
Вот мой файл роли:
chef_type: role
default_attributes:
description: Nginx webserver
env_run_lists:
dev: recipe[nginx_webserver::config_dev]
qa: recipe[nginx_webserver::config_qa]
json_class: Chef::Role
name: webserver
override_attributes:
run_list: recipe[nginx_webserver]
Вот мой список приложений
chef_type: environment
cookbook_versions:
nginx_webserver: = 0.1.2
default_attributes:
description: development environment
json_class: Chef::Environment
name: dev
override_attributes:
nginx:
site_dir: dev.mysite.com # This value changes between envs
Вот мой node_list:
{
"name": "chef-node1",
"chef_environment": "dev",
"normal": {
"tags": [
]
},
"policy_name": null,
"policy_group": null,
"run_list": [
"role[webserver]"
]
}
Мой вывод / ошибка шеф-клиента:
54.149.131.42 Recipe Compile Error
54.149.131.42
====================================================================
54.149.131.42
54.149.131.42 Chef::Exceptions::RecipeNotFound
54.149.131.42 --------------------------------
54.149.131.42 could not find recipe config_dev for cookbook
nginx_webserver
54.149.131.42
Я не уверен, как разместить мои рецепты config_dev и config_qa на сервере chef. Я включил оба в свой рецепт default.rb, но я все еще продолжаю получать эту ошибку. Моя цель — вызвать confg_dev recipe, когда это среда разработки, и config_qa, когда это qa. Пожалуйста, любые указания
Редактировать: 1
Вывод из команды «Показать кулинарную книгу»
имя: nginx_webserver-0.1.2 поставщики: рецепты: контрольная сумма: 23978bdef70ea9a852e27d9489acdda1 имя: default.rb путь: рецепты/default.rb специфика: url по умолчанию: https://s3-external-1.amazonaws.com:443/opscode-platform-production-data/organization-0ffe55465085b0ed5ec6cc4dc383888e/checksum-23978bdef70ea9a852e27d9489acdda1?AWSAccessKeyId=AKIAIQKPG2CTSTRVDO4Qamp;Expires=1477168767amp;Signature=8EUWtT1RJq1S6/N0nF00XV879fg= ресурсы: root_files: контрольная сумма: d5324dd6a872900fd6ee12c9628d9595 имя: README.md путь: README.md специфика: URL по умолчанию: https://s3-external-1.amazonaws.com:443/opscode-platform-production-data/organization-0ffe55465085b0ed5ec6cc4dc383888e/checksum-d5324dd6a872900fd6ee12c9628d9595?AWSAccessKeyId=AKIAIQKPG2CTSTRVDO4Qamp;Expires=1477168767amp;Signature=KuzF07t3/Xnw3BA30PkcNbsnQf0=
контрольная сумма: d14d45c195dccbfe56b358b71d2a6a6b имя: chefignore путь: chefignore специфика: url по умолчанию: https://s3-external-1.amazonaws.com:443/opscode-platform-production-data/organization-0ffe55465085b0ed5ec6cc4dc383888e/checksum-d14d45c195dccbfe56b358b71d2a6a6b?AWSAccessKeyId=AKIAIQKPG2CTSTRVDO4Qamp;Expires=1477168767amp;Signature=8nlPR7LBWOQbn6C7CfCaNTieaqM=
контрольная сумма: 6528f8499102744b7616913a6cb225de имя: Berksfile путь: Специфика Berksfile: url по умолчанию: https://s3-external-1.amazonaws.com:443/opscode-platform-production-data/organization-0ffe55465085b0ed5ec6cc4dc383888e/checksum-6528f8499102744b7616913a6cb225de?AWSAccessKeyId=AKIAIQKPG2CTSTRVDO4Qamp;Истекает =1477168767amp;Подпись=0KRkWnrxasYQFhKaM0Kdqh79ltk=
РЕДАКТИРОВАТЬ — 2:
Кулинарная книга/default.rb
include_recipe 'selinux::permissive'
include_recipe 'nginx_webserver::config_dev'
include_recipe 'nginx_webserver::config_qa'
Обновлены метаданные.rb до = 0.1.3
knife cookbook upload nginx_webserver
Uploading nginx_webserver [0.1.3]
Uploaded 1 cookbook.
Получаю ту же ошибку. Кроме того, действительно ли мне нужно включать мои config_dev и config_qa в мой файл default.rb? Разве шеф-повар не должен автоматически подбирать эти рецепты на основе env_run_lists?
Комментарии:
1. Что
knife cookbook show nginx_webserver 0.1.2
отображается для вас?2. показывает много материала. В основном о моих двух рецептах — selinux и nginx. Есть ли что-то конкретное, что вы ищете
3. в идеале весь вывод, чтобы мы все здесь могли понять, что здесь происходит, минимально, если
config_dev
рецепт виден в этой версии4. Я добавил некоторую часть. Но он не показывает никакой информации о моем рецепте config_dev
5. пожалуйста, добавьте четыре пробела слева от каждой строки кода, чтобы упростить форматирование кода
Ответ №1:
Ваша среда использует версию, в которой нет рецептов (учитывая, что вы загрузили их в 0.1.3
согласно вашему журналу):
chef_type: environment
cookbook_versions:
nginx_webserver: = 0.1.2
Пожалуйста, используйте knife environment edit
, поместите 0.1.3
туда и попробуйте снова объединить узел.
Комментарии:
1. Я сделал, но все те же результаты. Нужно ли включать рецепты, отличные от стандартных, в рецепты по умолчанию. Еще одна вещь, которую я заметил, это то, что версия cookbook, показанная в Chef-server (UI — Attributes), все еще старая. Я загрузил cookbook, а также загрузил berks. Кроме того, пользовательский интерфейс показывает правильную среду и связанный рецепт.
2. @f-z-N пожалуйста, приложите скриншоты этого