2012-06-03 63 views
1

我是新廚師和一個新鮮的vm的Ubuntu 12我玩弄廚師獨奏。在關於這個主題的一些博客教程之後,我決定在我的虛擬機上通過配方安裝ntp服務。在經歷了讓vm安裝ruby,rubygems和最後的廚師的引導過程之後,初始的ntp運行似乎運行正常。在運行之前,pgrep ntpd會返回空白,運行後同樣的命令會返回一個進程id。但仔細檢查/etc/ntp.conf文件後,我意識到它並未使用我的配方中定義的此文件的模板版本。經過進一步的調查,我開始測試這個理論,即我的ntp配方在廚師獨奏中沒有被提及。我將我的cookbooks/ntp目錄改名爲cookbooks/ntp_foo。然而,引用它的基本配方完全滿足於此,並着手安裝ntp服務。是否有某些服務在「核心」廚師安裝中定義了食譜?這是我設置的佈局:廚師獨奏是否安裝ntp而沒有配方?

solo.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'] 

solo.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. 

上什麼可能會在任何想法?謝謝!

回答

0

所以真的沒有問題,只是我從根本上誤解了run_listsrecipes的關係。在我site-cookbooks目錄基礎配方的配方,一個令人難以置信的簡單的食譜,但一個仍然:

package 'ntp' 

因爲我看到了cookbooks目錄中的一個單獨ntp配方,這使我誤以爲上面的行某種程度上需要參考cookbooks內的配方。不是這種情況。

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

到:所以我run_list從改變

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

這將調用cookbooks\ntp配方,一切看起來對我的VM預期。感謝您在這方面反彈的想法,希望這可以幫助廚師新手。

+0

希望你仍然收到這個。你如何運行廚師獨奏?我已經設置了自己,我的命令仍然找不到我的食譜。我正在使用與您的類似的solo.rb文件,現在我正在使用與您的文件完全相同的文件,但出現錯誤,說它找不到運行列表中第一項的食譜。我需要一個基本配方嗎?我應該把它放在哪裏?我只有cookbooks目錄,沒有site_cookbooks目錄。 – nroose

0

你正在關注哪些教程?

你應該有一個叫做「base」的角色,你應該有一個名爲recipe[ntp]的運行列表,以及一個應該在站點菜譜/ ntp下的ntp菜譜(ntp菜譜然後是站點菜譜/ NTP /食譜/ default.rb)。

我真的不確定在你的廚師跑過程中究竟發生了什麼,你可能會發布日誌嗎?

+0

我一直在努力:http://illuminatedcomputing.com/posts/2012/02/simple-chef-solo-tutorial/。正如你在上面看到的,我沒有一個完全基於角色的角色,而是在站點目錄中有我自己的基本配置。我會嘗試將ntp食譜從烹飪書移到網站烹飪書,但是從我讀過的所有東西中,因爲我的solo.rb引用了cookbooks文件夾,所以應該沒問題。將日誌添加到主帖子中。謝謝回覆! – wittyhandle

+0

因此,我已經開始使用新的ubuntu vm,運行我的廚師獨奏配方,並在其中包含ntp配方,名爲'site-cookbooks/ntpp'。無論如何,廚師仍然非常樂意安裝ntp服務。但它不是來自我的配方,因爲'/ etc/ntp.conf'文件不是來自我的模板。所以這個神祕還在繼續。我嘗試了另一種服務,例如Java。在這種情況下,我正確地得到這個錯誤: 'Package:package [java](base :: default line 3)有一個錯誤:Chef :: Exceptions :: Package:沒有指定版本,並且沒有可用於java的候選版本' – wittyhandle

+0

在您的新虛擬機上,您是否在重命名之前使用正確命名的ntp食譜來運行?它可能已被緩存。 –