問題タブ [lwrp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
9716 参照

chef-infra - 別のクックブックから Chef LWRP を含める

小さな LWRPappクックブック ( trim_log) を書きましたが、うまくいきました。ただし、現在、この特定の LWRP をクックブックに移動しcommonsて、他のクックブックでも使用できるようにしようとしています。trim_log問題は、私のクックブックを含むどのクックブックにもリソース/プロバイダーをロードする方法がわからないことappです。

trim_logコモンズ クックブックでプロバイダー/リソースを定義しました。trim_logここで、このプロバイダー/リソースをクックブックで使用したいと考えていますapp。そこで利用できるようにするにはどうすればよいですか?

0 投票する
1 に答える
1020 参照

ruby - シェフ lwrp での ruby​​ ライブラリのインストール、要求、および使用

認証を許可する API キーを使用して redis データベースをシードする LWRP を作成しています。問題は、Ruby 用の redis ライブラリを使用することです。私は周りを検索してオンラインでいくつかの例を見つけましたが、何もうまくいきませんでした。

AWS OpsWorks でこれを実行しているので、chef-solo を使用しています

redis gem をインストールする実行リストにレシピを含めてみました ( https://github.com/brianbianco/redisio/blob/master/recipes/redis_gem.rb )

また、クックブック内に宝石をインストールしようとしました。

また

これは、シェフの実行で発生しているエラーです

私はルビーが初めてなので、すべての助けに感謝します、ありがとう。

0 投票する
1 に答える
1057 参照

django - python_application Chef クックブックの使用

application_python クックブックで提供される django リソースを使用しようとしています: https://github.com/opscode-cookbooks/application_python

https://github.com/opscode-cookbooks/application_python/blob/master/examples/recipes-packaginator.rbで提供されている例に従い、 mt メタデータで 宣言depends application_pythonすると、次のエラーが発生しました。

No resource found for django. Tried application_django, application_python_django, django

そこで、「django」だけでなく「application_python_django」リソースを使用して、別のクックブックから Chef LWRP をインクルードするのアドバイスに従ってみました。そして、私は得ました:

No resource found for application_python_django. Tried application_application_python_django, application_python_application_python_django, application_python_django

興味深いのは、アプリケーション リソースを削除して application_python_django リソースのみを残すと、次のような不満が生じることです。

You must supply a name when declaring a application_python_django resource

!!! それで、リソースが見つかったようです。そのため、リソース名を宣言すると、レシピは実行されますが、django リソースに対してアクションは実行されません (実際には、アプリケーション リソースにあった多くのパラメーターが欠落しています)。

ああ、アプリケーションを削除してリソースだけを django のままにすると、次のようにもなります。

Cannot find a resource for django on ubuntu version 12.04

さて、私はかなり迷っています。

私のレシピの最初の試みは次のとおりです。

tks、レオナルド

0 投票する
3 に答える
2750 参照

chef-infra - 通知と not_if を実装するためのシェフのカスタム lwrp を取得するにはどうすればよいですか?

カスタムの軽量リソースを作成します。しかし、notify と only_if は認識されません。

他の誰かがこれを機能させますか?

opsworks サプライ リソースでこれらを使用します。だから私はそれらを正しく使用していることを知っています。残念ながら独自のコードなので、コードを投稿できません。

0 投票する
1 に答える
2152 参照

ruby - シェフクックブック lwrp、new_resource.updated_by_last_action(true) を使用する最も簡単な方法

私はシェフ10用のLWRPを書いています。そして、そのリソースが他のレシピで実行されるとき、何かが変更された場合、「updated_by_last_action」としてマークされるべきです。しかし、何も変わっていない場合。updated_by_last_action は false にする必要があります。

例として、シェフのドキュメントhttp://docs.opscode.com/lwrp_custom_provider.html#updated-by-last-actionがあります。その例では、リソース テンプレートが変数内にラップされて、変更されたかどうかをテストし、updated_by_last_action ステータスを設定します。したがって、私のコードは次のようになります

ただし、プロバイダーが大きくなり、テンプレート、ファイル、ディレクトリ、マウントなどの多くのリソースを使用する場合.リソースが更新されたかどうかを確認するために、これらのすべてのリソースを例のような変数内にラップする必要があるため、さらに送信するこのプロバイダが更新されたステータス。

new_resource.updated_by_last_action(true)すべてのリソースを変数内にラップするよりも、他のものを実行するためのより簡単でクリーンな方法があるかどうか疑問に思っています。LWRP がシェフの実行ごとに更新されているとマークされる前にnew_resource.updated_by_last_action(true)内部に入れただけの場合、これは最適ではありません。actionend

0 投票する
1 に答える
1861 参照

ruby - Chef LWRP からノード タグを更新する

特定のユース ケースでは、カスタム LWRP を介してノードのタグを更新する必要があります。私は2つのアプローチを試しました:

  • 「タグ」/「タグ解除」を使用します。これにより、次のエラーが発生します。

    /li>
  • を使用してnode[:tags].concat(<new_tags_array>)。これは機能しますが、タグが保持されないため、検索に使用できません。

ここに欠けているものはありますか?

ありがとう

編集: 実際、質問は: プロバイダーからノード属性を更新することさえ可能ですか?

EDIT2:これにより、タグが正しく設定されます:

ただし、タグはchef-clientの実行ごとにリセットされるため、これらの新しいタグを含める前に(2回目のchef-clientの実行で)それらの存在を確認すると、タグは取得されません。

0 投票する
1 に答える
4184 参照

chef-infra - LWRP カスタム定義で nil:NilClass の未定義メソッドが得られるのはなぜですか

この LWRP のカスタム定義に問題があります。

リソース: user_postgresql。

プロバイダー: user_postgresql。

そして変更アクション

そして私のload_current_resource:

そして、それはエラーです:

定義で current_resource が nil なのはなぜですかaction :alter???