2013-02-20 13 views
5

私たちは、1台のサーバー、1台のクライアント、およびワークステーションとしての別のクライアントで構成されたテスト環境を用意しています。シェフサーバー、料理本のサイトではない料理本をインストールします

私は

# knife cookbook site install apache2 

コマンドを認識していますが、私も料理のサイトを利用してダウンロードすることができないため、このコマンドはエラーを生成します。私がダウンロードし は、

# knife cookbook site download apache2 

これが出てくる、

ERROR: Connection refused connecting to cookbooks.opscode.com:80 for /api/v1/cookbooks/apache2, retry 1/5 
ERROR: Network Error: Connection refused - Connection refused connecting to cookbooks.opscode.com:80 for /api/v1/cookbooks/apache2, giving up 
Check your knife configuration and network settings 

あなたがこの問題を解決するために何かを持っている場合は、また、共有してくださいしかし、私の主な問題は、手動で料理をインストールする方法を知っているのですか?料理本のサイトからではありませんか? 私は、ノードのrunlistレシピの料理を追加し、シェフのサーバーにアップロード、ワークステーションにtar.gz形式をコピーし、そこ「ダウンロード」ボタンを使用して、サイトからダウンロードしてから実行してみました

# chef-client 
ワークステーション内の

これはインストールと同じですか?そうでない場合、それを行う方法はありますか?

ありがとうございます。

+0

シェフのレシピに.chefフォルダがあり、資格情報(USER.pemとVALIDATOR.pem)を持っていますか? – Edu

+0

はい。私はすでに問題を修正しました。私の問題はhttpプロキシだと思われます。 knife.rbでは、http_proxyを追加しました。さて、#ナイフ料理のサイトリストを正常に実行できますが、インストールとダウンロードでは新しいERRORという認証問題が生成されました。何か案は?私は上記のエラーを追加しました。 – Ella

答えて

7

あなたのシェフ・レポの中から料理をアップロードするための通常の手順は次のとおりです。

  1. ダウンロードしてお使いchef-repo/cookbooksディレクトリ
  2. に料理を抽出knife cookbook upload -aknife cookbook upload [COOKBOOKS...]
  3. を使用して、あなたのシェフ・サーバーへの料理の本をアップロード
  4. これは一致しているようだchef-client

を使用して、クライアント・ノードでシェフクライアントを実行しますあなたがしたこと。

knife cookbook site install COOKBOOKを使用して料理ブックをインストールすることは、knife cookbook site download COOKBOOKでダウンロードすることと基本的に同じです。ただし、ダウンロードコマンドでは.tar.gzとして保存されますが、installコマンドではそれを抽出し、それは最新のものです。 (Managing Cookbooks With Knife - Cookbook Siteを参照してください。)

あなたが管理し、任意のGitのレポ、Opscodeのコミュニティサイト、またはローカルパスから料理本をダウンロードするLibrarianまたはBerkshelfのようなツールを使用することができます。これらの宝石の両方は、Bundlerと非常によく似ています。 Cheffile.lockまたはBerksfile.lockが生成され、Cookbookをバージョンにロックしたり、SHAをコミットするのに役立ちます。

編集:私は本当になぜknife cookbook site install/downloadがうまくいかないのか分かりません。どんな種類の認証も必要としません。 knife cookbook sitedocs: "cookbookのサイトからダウンロードするコマンド(ダウンロード、検索、インストール、リストなど)では、community.opscode.comのアカウントは必要ありません。コミュニティサイトのアカウント。 "

knife cookbook site downloadknife cookbook downloadとは異なります。前者はcommunity.opscode.comに接続し、後者はシェフサーバーに接続します。どちらに問題がありますか?

+0

ありがとうございます。私は今、サイトから来ていない料理本でシェフクライアントを実行することは、それをインストールすることと同じであることを理解しています。最終的には、http_proxyをknife.rbに追加することで、cookbookサイトに接続することができました。私は#ナイフ料理のサイトのリストを行うことはできますが、インストールやダウンロードはできません。何か案は?ありがとうございました! – Ella

+0

問題ありません! tickets.opscode.comでチケットを開こうとすることができます。 私は追加したいテキストのブロック全体をここで使い果たしているので、私は編集として上記の答えに貼り付けます。 –

+0

こんにちは!私はcommunity.opscode.comからナイフ料理のサイトのダウンロードに問題があります。私は問題がサイトへの認証ではなく、サーバーへの認証であると思う。私は参照のために以下のエラーログを追加しました。ありがとう。 – Ella

0

シェフクライアントを実行することは、サイトから料理ブックをインストールすることと同じです。

はまた、私はこのエラーを修正する方法を考え出し:

ERROR: Connection refused connecting to cookbooks.opscode.com:80 for /api/v1/cookbooks/apache2, retry 1/5 
ERROR: Network Error: Connection refused - Connection refused connecting to cookbooks.opscode.com:80 for /api/v1/cookbooks/apache2, giving up 
Check your knife configuration and network settings 

私は今/root/.chef/knife.rb

にHTTP_PROXYを追加し、私は正常に

# knife cookbook site list 
を行うことができます

ただし、Cookbookサイトのインストールとダウンロードで新しいエラーが発生しました。

Downloading getting-started from the cookbooks site at version 0.4.0 to /home/chef/getting-started-0.4.0.tar.gz 
ERROR: You authenticated successfully to http://10.43.109.236:4000 as my-chefuser but you are not authorized for this action 
Response: #<Net::ReadAdapter:0x2b2afa986ac0> 

私はすでに料理を列挙することによって、それへのアクセス権を持っているので、問題は今、シェフサーバの権限ではなく、料理のサイトだと思います。

0

は、私も、両方ともダウンして私のためにアップロード固定シェフチケットシステムからこれを使用して問題を持っていた:あなたが必要と明らかに

http_proxy    "http://proxyserver:8080" 
https_proxy    "http://proxyserver:8080" 

require 'rest-client' 
RestClient.proxy = "http://proxyserver:8080" 

:あなたのknife.rbファイルの最後に以下の行を追加します。 proxyserver:8080を交換する必要があります。

+0

私のプロキシには認証が必要です。 RestClient.proxyに資格情報を追加するにはどうすればよいですか?私はすでにhttp:// username:password @ proxyip:port / –

関連する問題