問題タブ [chef-attributes]

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 に答える
1398 参照

chef-infra - Chef 属性ファイル

3 人のユーザーを作成し、それらをグループに追加して sudoers ファイルに書き込むためのシェフのレシピが書かれています。

私は Chef を初めて使用するので、このレシピに適した属性ファイル (/cookbook/User/attributes/default.rb) を作成する際に助けが必要です。知っていることはすべて試しましたが、何もうまくいきません。また、case ステートメントを属性ファイルに含めることができるかどうかも知りたいです。

注: Chef をローカル モードで実行しています。

0 投票する
2 に答える
1144 参照

chef-infra - 2 つのシェフ属性のマージ

リポジトリ内の 2 つの異なるファイルには、次の行が含まれています。

両方の属性をマージしたいと思います。どちらも同じ意味で使用されるため、単純に一方を他方と同じに設定するだけでは十分ではありません。私の最大の懸念は、誰かがこの間違いを犯すことです:

コードで両方の変数の値を設定するのを忘れることは、現在の構造では致命的な間違いです。オーバーライド階層を維持する方法で属性をマージして、library_cookbook_1 にロール レベルのオーバーライドがあり、library_cookbook_2 に環境レベルのオーバーライドがある場合、属性が 1 つの属性であるかのようにシェフがオーバーライドを処理するようにします。

理想的なマージ コードは次のようになります。

理想的には、各属性を同じものへのポインターにすることで、将来の呼び出しと割り当てが両方に適用されるようにします。

さて、明らかな答えは、単純に属性の 1 つをリファクタリングすることです。残念なことに、chef は属性のリファクタリングを困難にしています - 私たちは 10 の異なる環境、7 つの異なる役割、環境ごとに 20 のノードなどを持っています。

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

ruby - Chefコードで作成されたChefデータバッグアイテムの読み込み中にエラーが発生しました

この問題に関連して 2 つの質問があります。(解決済みの問題、以下に解決策を示します)

javaという名前のデータバッグがあります。以下に示すように、各ノードのホスト名に固有のデータバッグアイテムが含まれています

Chefコードを使用してデータバッグを作成できます

しかし、レシピの実行中に、jdk_version に値を代入しているコードで以下のエラーが発生します

質問 1: 上記のデータ バッグ項目の形式から、値を取得する方法を教えてください。

以下のようにデータ バッグを作成すると、jdk_version を取得できます。

上記の形式でデータバッグを作成するコード

質問 2: 以前のデータ バッグ アイテムの実装で間違っていることは何ですか?

解決した問題:: 以下の形式でデータ バッグ アイテムを作成できるようになり、データを正常に取得できるようになりました

データ バッグ アイテム ハッシュの作成中に、jdk_version とその値に "[]" の代わりに "{}" 中かっこを追加しました。

作業コードを以下に示します。

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

json - ノードにchef_typeは必須ですか?

Chef Server を使用するプロジェクトでは、次の概念を使用しています。

  • ノード
  • 役割
  • 環境

環境ロールのjson ファイルは正常に見えます (それらには と がchef_typeありますjson_class):

  • ENV.json

    /li>
  • my_role.json

    /li>

しかし、ノードは次のようになります (いいえchef_type、いいえjson_class):

  • my.machine.json

    /li>

それは本物のChefノードですか?

また、次の優先順位を満たしていますか? ノード、ロール、および環境に
「通常」がある場合、次の優先順位 (上書き) 順序が適用されると想定しました:ノード > ロール > 環境、しかしそのドキュメントによると、優先順位はロール > 環境 > レシピであり、レシピはノードと同じ表セル。"key":"value"

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

ruby - Ruby ハッシュを定数値で初期化する

実際には、シェフの属性でそのような構造を使用したいと思います。そこでは、定数で構造を初期化し、それを変更します

init_value にも が含ま["a"]["x"] = "y"れるようになったので、新しい値を準備すると

prepare["a"]キーが含まれています["b", "x", "y"]

prepare["a"]最後のステップで2 つのキーのみが含まれるように、定数を引用せずに定数で準備を初期化するにはどうすればよい["b","y"]ですか?