1

新厨师和新的 ubuntu 12 虚拟机我正在玩厨师独奏。按照一些关于该主题的博客教程,我决定通过我的 vm 上的配方来修补安装 ntp 服务。在经历了让 vm 安装 ruby​​、rubygems 和最后安装 chef 的引导过程之后,最初的 ntp 运行似乎运行正常。在运行之前,pgrep ntpd 将返回空白,在运行之后,相同的命令将返回一个进程 ID。但在仔细检查 /etc/ntp.conf 文件后,我意识到它没有使用我的配方中定义的该文件的模板版本。在进一步调查之后,我开始测试我的 ntp 配方在 chef-solo 运行中根本没有被引用的理论。我将我的cookbooks/ntp 目录重命名为cookbooks/ntp_foo。然而,引用 this 的基本配方对此非常满意,并继续安装 ntp 服务。是否有某些服务在“核心”厨师安装中定义了食谱?这是我的设置布局:

独奏.rb

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]"
]

网站食谱/食谱/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.

关于可能发生的事情有什么想法吗?谢谢!

4

2 回答 2

0

您到底在遵循哪些教程?

你应该有一个名为“base”的角色,在你应该拥有的运行列表中recipe[ntp],以及一个 ntp 食谱,它应该在 site-cookbooks/ntp 下(然后 ntp 配方将是 site-cookbooks/ntp/recipes/default .rb)。

老实说,我不确定您的厨师运行期间到底发生了什么,您能否发布日志?

于 2012-06-03T10:03:35.457 回答
0

所以真的没有问题,只是我从根本上误解了run_lists和的关系recipes。我site-cookbooks目录中的基本配方是 recipe,一个非常简单的配方,但仍然是一个:

package 'ntp'

因为我在目录中看到了一个单独的ntp配方cookbooks,这让我产生了一种误解,即上面的行不知何故需要在cookbooks. 不是这种情况。所以我run_list改变了:

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

到:

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

这调用了cookbooks\ntp配方,一切在我的虚拟机上看起来都符合预期。感谢您对此提出意见,希望这对厨师新手有所帮助。

于 2012-06-04T04:58:13.557 回答