問題タブ [chef-recipe]

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

amazon-ec2 - knife/chef - コマンドライン引数を取得してシェフのレシピに渡す方法

コマンドライン引数をキャプチャしてシェフのレシピに渡す方法はありますか? 私がやろうとしているのは、さまざまな場所へのホスト名の入力を自動化することです。1 つは/etc/sysconfig/networkDOMAIN フィールドにあります。

したがって、サーバーを起動するコマンドが

「myserverName」をキャプチャして、ブートストラップ時に FQDN を構築するために必要になる可能性のあるさまざまなレシピに渡したいと考えています。

これは JSON オプションではなく、コマンド ラインから直接行います。

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

chef-infra - Vagrant と python レシピで遊んでいますが、python_virtualenv の使い方がわかりません

私の Vagrantfile は次のようになります (一部が欠落しています)。

Opscode python レシピ Readmeによると、コマンドで python パッケージ、python_pipコマンドで python virtualenvsをインストールすることが可能python_virtualenvです。どうすればそれらを私の に統合できますVagrantfileか?

0 投票する
5 に答える
47831 参照

linux - Chef レシピを使用して構成ファイルに複数の行を追加する

特定の構成ファイルに複数行 (20 ~ 30 行) を追加する Chef レシピを作成しようとしています。

ファイルに追加するだけでなく、構成ファイル全体を変更することが推奨されるパターンであることは承知していますが、複数の理由からこのアプローチは嫌いです。

これまでのところ、私が見つけた唯一の解決策は、 acookbook_fileを使用してから bash リソースを使用して行うことでした:

cat lines_to_append >> /path/configfile

明らかに、chef-client を実行するたびにファイルが何度も追加されるため、これは適切に機能しません。最初に特定の文字列をチェックする小さな bash スクリプトを作成し、見つからない場合はファイルに追加する必要があります。

しかし、これは Chef を使用する目的に反しているようです。もっと良い方法があるはずです。

有望な解決策の 1 つは、OpsCode Communityのline cookbookでした。この正確な問題を解決することを目的としていました。残念ながら、機能は不完全でバグが多く、コードは簡単なハックにすぎません。確実な解決にはほど遠い。

私が評価した別のオプションはaugeas でした。かなり強力に見えますが、システムにさらに別の抽象化レイヤーを追加することになります。私の場合、やり過ぎです。

これがシステム管理者にとって最も明白なタスクの 1 つであることを考えると、私が見ていない Chef を使用した簡単で美しいソリューションはありますか?


編集:これまでのところ、私がそれを解決する方法は次のとおりです。

動作しますが、これが推奨される Chef パターンかどうかはわかりません。

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

chef-infra - include_recipe を使用するか、レシピを run_list に追加する必要がありますか?

大規模なプロジェクトに最適なアプローチを見つけようとしています。include_recipeにレシピを追加するのではなく、を使用してレシピ内にレシピを追加するのが適切なのはrun_listいつですか? 良い経験則はありますか?

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

chef-infra - シェフの bash リターン コードをオーバーライドする

Websphere フィックスパックをインストールするためにシェフのレシピを実行しています。フィックスパックは、部分インストール用の終了コード [2] を返します。これは予想される動作ですが、シェフはそれをエラーと見なしています。それをオーバーライドする方法はありますか。

戻り終了コードが [2] であっても、chef に次のタスクを進めてもらいたい

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

chef-infra - シェフで not_if を使用できません

bash 属性を使用するときに not_if を実装しようとしています

WAS Deployment Manager を起動しようとしていますが、実行されていない場合にのみ、単純な grep コマンドを使用して、以下のログでわかるように、動作しているプロセスの pid を取得しています。

以下は、シェフ クライアントからのデバッグ ログです。

DMGR プロセスが *実行中*の場合

DMGR プロセスが *実行されていない場合*

どんな場合でも、常にスキップされます。

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

ruby-on-rails - Chef: アプリケーション レシピでデータベース移行が実行されない

application および application_ruby レシピを使用しています。そして、migrate 'true' を使用して、次のようにアプリを定義しています。

ただし、移行が実行されているようには見えません。application_ruby は一度実行すると削除されるためだと思います。ただし、私の場合、データベース ユーザーの資格情報に問題があり、移行が成功しませんでした。移行を手動で実行する以外に、移行を実行する方法はありますか?

0 投票する
0 に答える
325 参照

chef-infra - Vagrant と Chef の困惑。それは私がすべきだと思うことをしていない

私は Opscode php クックブックを持っていますが、これは正常に動作します...ほとんど。php.ini.erb ファイルに変更を加えましたが、そのファイルはスクリプトの指示どおりにコピーされません。ubutnu ベース ボックスを使用しているためphp/templates/ubuntu/php.ini.erb、Vagrant ボックスを変更して再作成しました。テンプレート ファイルに加えた変更は、システムで使用される php.ini ファイルには反映されません。完全にデフォルトの php.ini を使用するだけです。

また、xdebugをインストールしたいと思います。php/recipes/module_xdebug.rbそこで、これを含む独自のレシピ を作成しました。

...そして、php/metadata.rbファイルの末尾に次を追加しました。

...そしてファイルphp/templates/*/xdebug.ini.erbには以下が含まれます:

このファイルをすべてのテンプレート ディレクトリに配置します。しかし、プロビジョニングしても、ファイルはコピーされません。

また、Zend Framework をダウンロードして抽出しようとしています。これを行うために、ファイルの末尾にいくつかのコードを追加して、少しごまかしていphp/recipes/source.rbます。

どちらも機能しませんが、完全なハックであり、おそらく間違いに満ちているため、機能しないと予想していました。

したがって、素早い学習能力を再評価する必要があります。バニラのインストールとは異なる方法でやろうとしたことは、これら3つのことだけであり、どれも機能しないためです. ふくれっ面

誰かが私の(おそらく多くの)失敗に光を当てることができますか?

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

ruby - Chef クックブックに Java アプリをデプロイする

すでにアプリケーション クックブックを使用して、Java アプリケーションをデプロイおよびインストールしています。私は自分でそれを試しました。

上記のコードでは、次のエラーが発生します。

これを解決する方法がわかりませんか?