我加入了一家新公司,爲了趕上速度,我一直在與我的虛擬機玩Vagrant。我讓我的系統幾乎設置,然後一個奇怪的錯誤迫使我關閉我的筆記本電腦,而不通過vagrant destroy
斷開連接。現在,當試圖設置,我運行vagrant up
並獲得以下錯誤信息。刪除沒有私鑰的刀客戶端?
[default] Running provisioner: Vagrant::Provisioners::ChefClient...
[default] Creating folder to hold client key...
[default] Uploading chef client validation key...
[default] Generating chef JSON and uploading...
[default] Running chef-client...
stdin: is not a tty
[Wed, 16 Jan 2013 05:20:20 -0500] INFO: *** Chef 0.10.2 ***
[Wed, 16 Jan 2013 05:20:20 -0500] INFO: Client key /etc/chef/client.pem is not present - registering
[Wed, 16 Jan 2013 05:20:21 -0500] INFO: HTTP Request Returned 409 Conflict: Client already exists.
[Wed, 16 Jan 2013 05:20:22 -0500] INFO: HTTP Request Returned 403 Forbidden: Merb::ControllerExceptions::Forbidden
[Wed, 16 Jan 2013 05:20:22 -0500] FATAL: Stacktrace dumped to /srv/chef/file_store/chef-stacktrace.out
[Wed, 16 Jan 2013 05:20:22 -0500] FATAL: Net::HTTPServerException: 403 "Forbidden"
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
chef-client -c /tmp/vagrant-chef-1/client.rb -j /tmp/vagrant-chef-1/dna.json
現在從我自己的研究,我看到這意味着客戶端已經存在與指定的名稱,所以我決定手動關閉它。我試圖用knife client list
列出所有的刀客戶,但後來得到以下消息:
WARNING: No knife configuration file found
ERROR: Your private key could not be loaded from /etc/chef/client.pem
Check your configuration file and ensure that your private key is readable
奇怪。我知道knife.rb存在,我看到它時,我ls
,所以我不知道刀配置文件如何不存在。我無法看到我的刀客戶顯然沒有這個私鑰。我對流浪者,刀和廚師是全新的,所以我很難過。
想法?
嘗試使用-c按照您在運行廚師客戶端時所用的相同方式將刀具配置文件的顯式路徑。我相信[path是配置文件中client_key條目的默認路徑,如果它沒有找到它使用的默認文件 – PatrickWalker