Шеф-соло устанавливает ntp без рецепта?

Я очень новичок в шеф-поваре, и со свежей виртуальной машиной Ubuntu 12 я играю с шеф-поваром-соло. Следуя некоторым руководствам в блоге по этому вопросу, я решил повозиться с установкой службы ntp по рецепту на моей виртуальной машине. После прохождения процесса начальной загрузки виртуальной машины для установки ruby, rubygems и, наконец, chef, первоначальный запуск ntp, похоже, прошел нормально. Перед запуском pgrep ntpd возвращал пустое значение, после запуска та же команда возвращала идентификатор процесса. Но после тщательного изучения файла /etc/ntp.conf я понял, что он использует не шаблонную версию этого файла, определенную в моем рецепте. После дальнейшего расследования я начал проверять теорию о том, что мой рецепт ntp вообще не упоминается в одиночном прогоне шеф-повара. Я переименовал свой каталог cookbooks/ntp в cookbooks/ntp_foo. Тем не менее, базовый рецепт, на который это ссылается, вполне доволен этим и приступает к установке службы ntp. Существуют ли определенные службы, в которых есть рецепты, определенные в «основной» установке шеф-повара? Вот макет моей установки:

соло.рб

root = File.absolute_path(File.dirname(__FILE__))

data_bag_path root + '/data-bags'
file_cache_path root

cookbook_path [root + '/cookbooks', root + '/site-cookbooks']

соло.json

"run_list": [
    "recipe[base]"
]

сайт-поваренные книги/рецепты/база/default.rb

package 'ntp'

Рецепт cookbooks/ntp создавал не я, но он кажется верным, просто он не вызывается.

изменить

добавление логов:

[Sat, 02 Jun 2012 22:25:13 -0700] INFO: *** Chef 0.10.10 ***
[Sat, 02 Jun 2012 22:25:14 -0700] DEBUG: Building node object for mike-VirtualBox
[Sat, 02 Jun 2012 22:25:14 -0700] DEBUG: Extracting run list from JSON attributes provided on command line
[Sat, 02 Jun 2012 22:25:14 -0700] INFO: Setting the run_list to ["recipe[base]"] from JSON
[Sat, 02 Jun 2012 22:25:14 -0700] DEBUG: Applying attributes from json file
[Sat, 02 Jun 2012 22:25:14 -0700] DEBUG: Platform is ubuntu version 12.04
[Sat, 02 Jun 2012 22:25:14 -0700] INFO: Run List is [recipe[base]]
[Sat, 02 Jun 2012 22:25:14 -0700] INFO: Run List expands to [base]
[Sat, 02 Jun 2012 22:25:14 -0700] INFO: Starting Chef Run for mike-VirtualBox
[Sat, 02 Jun 2012 22:25:14 -0700] INFO: Running start handlers
[Sat, 02 Jun 2012 22:25:14 -0700] INFO: Start handlers complete.
[Sat, 02 Jun 2012 22:25:14 -0700] DEBUG: No chefignore file found at /tmp/chef/site-cookbooks/chefignore no files will be ignored
[Sat, 02 Jun 2012 22:25:14 -0700] DEBUG: Loading Recipe base via include_recipe
[Sat, 02 Jun 2012 22:25:14 -0700] DEBUG: Found recipe default in cookbook base
[Sat, 02 Jun 2012 22:25:14 -0700] DEBUG: Platform ubuntu not found, using all defaults. (Unsupported platform?)
[Sat, 02 Jun 2012 22:25:14 -0700] DEBUG: Loading from cookbook_path: /tmp/chef/site-cookbooks
[Sat, 02 Jun 2012 22:25:14 -0700] DEBUG: Converging node mike-VirtualBox
[Sat, 02 Jun 2012 22:25:14 -0700] DEBUG: Processing package[ntp] on mike-VirtualBox
[Sat, 02 Jun 2012 22:25:14 -0700] INFO: Processing package[ntp] action install (base::default line 3)
[Sat, 02 Jun 2012 22:25:14 -0700] DEBUG: package[ntp] checking package status for ntp
[Sat, 02 Jun 2012 22:25:14 -0700] DEBUG: package[ntp] current version is nil
[Sat, 02 Jun 2012 22:25:14 -0700] DEBUG: package[ntp] candidate version is 1:4.2.6.p3+dfsg-1ubuntu3
[Sat, 02 Jun 2012 22:25:14 -0700] DEBUG: Executing apt-get -q -y install ntp=1:4.2.6.p3+dfsg-1ubuntu3
[Sat, 02 Jun 2012 22:25:21 -0700] DEBUG: ---- Begin output of apt-get -q -y install ntp=1:4.2.6.p3+dfsg-1ubuntu3 ----
[Sat, 02 Jun 2012 22:25:21 -0700] DEBUG: STDOUT: Reading package lists...
Building dependency tree...
Reading state information...
Suggested packages:
    ntp-doc
The following NEW packages will be installed:
    ntp
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/570 kB of archives.
After this operation, 1,368 kB of additional disk space will be used.
Selecting previously unselected package ntp.
(Reading database ... 171196 files and directories currently installed.)
Unpacking ntp (from .../ntp_1%3a4.2.6.p3+dfsg-1ubuntu3_i386.deb) ...
Processing triggers for man-db ...
Processing triggers for ureadahead ...
Setting up ntp (1:4.2.6.p3+dfsg-1ubuntu3) ...
* Starting NTP server ntpd
...done.

Любые идеи о том, что может происходить? Спасибо!


person wittyhandle    schedule 03.06.2012    source источник


Ответы (2)


Каким именно урокам вы следуете?

У вас должна быть роль с именем «база», в списке выполнения которой у вас должно быть recipe[ntp], и кулинарная книга ntp, которая должна находиться в разделе site-cookbooks/ntp (тогда рецепт ntp будет site-cookbooks/ntp/recipes/ по умолчанию.rb).

Честно говоря, я не уверен, что именно происходит во время вашего шеф-пробега, не могли бы вы опубликовать журнал?

person Nils Landt    schedule 03.06.2012
comment
Я работал над этим: illuminatedcomputing.com/posts/2012 /02/. Как вы можете видеть выше, у меня нет роли именно для базы, скорее у меня есть свой собственный рецепт для базы в каталоге site-cookbooks. Я попытаюсь переместить рецепт ntp из поваренных книг в site-cookbooks, но, судя по всему, что я читал, поскольку мой solo.rb ссылается на папку поваренных книг, там должно быть все в порядке. Добавление логов в основной пост. Спасибо за ответ! - person wittyhandle; 03.06.2012
comment
Итак, я начал со свежей виртуальной машины Ubuntu, запустил свой сольный рецепт шеф-повара с намеренно неправильно названным каталогом, содержащим рецепт ntp, который называется site-cookbooks/ntpp. Chef по-прежнему совершенно счастлив установить службу ntp, несмотря ни на что. Но это не из моего рецепта, так как файл /etc/ntp.conf не из моего шаблона. Итак, загадка продолжается. Я попробовал другой сервис, например, java. В этом случае я правильно получаю эту ошибку: Package: package[java] (base::default line 3) had an error: Chef::Exceptions::Package: No version specified, and no candidate version available for java - person wittyhandle; 03.06.2012
comment
На вашей новой виртуальной машине вы выполнили прогон с правильно названной кулинарной книгой ntp перед ее переименованием? Это могло быть кэшировано. - person Nils Landt; 04.06.2012
comment
Привет, Нильс, самое первое, что я сделал на этой свежей виртуальной машине, — это запуск с неправильно названной кулинарной книгой ntp. Так что я не могу представить, что кешированная поваренная книга была фактором в этом случае. - person wittyhandle; 04.06.2012

Так что на самом деле не было никакой проблемы, просто я в корне неправильно понял отношения run_lists и recipes. Базовый рецепт в моем каталоге site-cookbooks это рецепт, невероятно простой рецепт, но тем не менее:

package 'ntp'

Поскольку я видел отдельный рецепт ntp в каталоге cookbooks, это привело меня к неправильному пониманию того, что строка выше каким-то образом должна ссылаться на рецепт в каталоге cookbooks. Это не тот случай. Итак, мой run_list изменился с:

"run_list": [
    "recipe[base]"
]

to:

"run_list": [
    "recipe[ntp]"
]

Это вызывает рецепт cookbooks\ntp, и на моей виртуальной машине все выглядит так, как ожидалось. Спасибо, что поделились идеями, надеюсь, это поможет новичку-шеф-повару.

person wittyhandle    schedule 04.06.2012
comment
Надеюсь, вы все еще получаете это. Как дела у шеф-соло? Я себя настроил, а моя команда все равно не может найти мои поваренные книги. Я использовал файл solo.rb, похожий на ваш, и теперь я использую точно такой же, как ваш, но он получает сообщение об ошибке, говорящее, что не может найти поваренную книгу для первого элемента в списке выполнения. Нужен ли базовый рецепт? Куда мне его положить? У меня есть только каталог поваренных книг, а не каталог site_cookbooks. - person nroose; 14.02.2013