問題タブ [ansible]

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 投票する
4 に答える
5405 参照

file-io - 可能な include_if_exists

ファイルが存在する場合、ファイルを条件付きで Ansible play に含める方法を探しています。ファイルが存在しない場合、残念ながら「include」を使用すると致命的なエラーがスローされます。一連のパッケージをループしてインストールしていますが、各パッケージのオプションの構成ファイルを確認したいと考えています。以下の簡単な例を参照してください。

スクリプトが存在しないファイルをインクルードしようとすると、すぐにエラーで停止します。私は間違った方法で何かをしようとしているだけだと確信していますが、何時間もこれに取り組んでいて、考えられることはすべて試しましたが、結果はありません.

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

python - 管理対象ノードに python をインストールせずに ansible を使用できますか?

ansible を使用したいのですが、管理対象ノードに python をインストールせずに ansible を使用できますか? たとえば、管理対象ノードでいくつかのシェル コマンドを実行したいだけです。

0 投票する
8 に答える
30215 参照

cryptography - ansible を使用してユーザーを作成し、パスワードを設定するにはどうすればよいですか?

ドキュメントでは github のを参照していますが、これは少しまばらで不可解です。

それはこう言います:

しかしcrypt.crypt、例が示すものを発行しません。また、MD5 を使用します。

私はこれを試しました:

ただし、ユーザーのパスワード フィールドは次のようになります。

これには、 (SHA-512 ハッシュであることを示す)、salt、および暗号化されたパスワードを区切る 3 つの$区切り文字が含まれます。6

python crypt のドキュメントでは、 $N形式については何も言及されていないことに注意してください。

質問:

  1. に提供されるソルトはcrypt.crypt、末尾の$で終わるはずですか、それとも$N$SALT形式ですか?

  2. Python のドキュメントでは DES について言及されていますが、SHA-512 または MD5 はどのように呼び出されているのでしょうか。また、これに関するドキュメントはどこにありますか?

  3. 私は本当に $N$SALT$CRYPTED の出力を取りcrypt.crypt、最初の$6を切り捨てて$N$SALT$CRYPTEDを作るべきですか? これはansibleが必要とするものですか?

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

mongodb - EC2 の再起動後、Ansible で MongoDB を再起動します。

Ansibleを使用して、MongoDB を実行している EC2 インスタンスを構成およびデプロイしています。

EC2 インスタンスの再起動後に、MongoDB を自動的に再起動するように構成するにはどうすればよいでしょうか。それとも、Ansible Playbook を再実行する必要がありますか?

これは私の現在のAnsible Playbookです:

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

mercurial - Ansible Mercurial クローンがハングする

Ansible を使用して Bitbucket からリポジトリのクローンを作成しようとすると、タスクが「ハング」したように見えます。

ドキュメントでいくつかの情報を見つけましたが、SSH を使用していません。

タスクがハングしているように見える場合は、まずリモート ホストが known_hosts にあることを確認します。SSH は、リモート ホストとの最初の接続を許可するようにユーザーに要求します。1 つの解決策は、.ssh/config に StrictHostKeyChecking no を追加して、ユーザーに代わって接続を受け入れて承認することです。ただし、たとえば、sudo を True に設定するなど、別のユーザーとして実行すると、root はユーザーの .ssh/config 設定を参照しません。

これらは、私が試した 2 つの Playbook です。どちらも「ハング」します。

ハンドブック #1

ハンドブック #2

どんな助けでも大歓迎です。前もって感謝します!

0 投票する
6 に答える
112235 参照

python - インベントリーを指定せずにホストを直接指定せずに Ansible を実行する方法は?

(ANSIBLE_HOST) を使用してインベントリ ファイルを指定せずに Python で Ansible を実行したいのですが、次のようにします。

私は実際にファブリックでこれを簡単に行うことができますが、Python でこれを行う方法を知りたいと思っています。一方、Python 用の Ansible API のドキュメントは完全ではありません。

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

python - Python Web アプリを作成しようとすると Vagrant でエラーが発生する

Vagrant と Ansbile ( https://github.com/nickhs/flask_skeleton ) を使用して Flask アプリをデプロイするためのガイドに取り組んでいますが、修正方法がわからないエラーが発生し続けます。

次を実行します... $ vagrant up db

...答えが見つからないエラーの前に、かなりの数の手順を実行します。

これらは完了した手順です...

[db] プロビジョナーの実行: ansible...

誰かが私を正しい方向に向けることができますか?

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

python - Ansible をプログラムで同時に実行するにはどうすればよいですか?

Ansible を使用して、複数のリモート ノードで単純なジョブを同時に実行したいと考えています。実際の作業では、いくつかのログ ファイルを grep し、ローカル ホスト (リモート ノードでは使用できないソフトウェアを使用) で結果を後処理します。

コマンド ラインの ansible ツールは、リモートで実行されたコマンドの出力と ansible によって生成された書式設定が混在しているため、このユース ケースには適していないようです。ただし、Python API は、出力を変更せずに公開するため、これが可能であるように思われます (ここでは関係ない可能性のある Unicode マングリングは別として)。

私が思いついた Python プログラムの簡略化されたバージョンは次のようになります。

ここでsleep 10は、実際のログ grep コマンドを代用しています。アイデアは、すぐには完了しないコマンドをシミュレートすることです。

ただし、これを実行すると、かかる時間がインベントリ内のホストの数に比例しているように見えます。それぞれ 2、5、および 9 ホストのインベントリに対するタイミング結果を次に示します。

その他のランダムな観察:

  • ansible all --forks=10 -i five-hosts.inventory -m command -a "sleep 10"同じ挙動を示します
  • ansible all -c local --forks=10 -i five-hosts.inventory -m command -a "sleep 10"物事を同時に実行しているように見えます(もちろん、ローカルのみの接続でのみ機能します)
  • ansible all -c paramiko --forks=10 -i five-hosts.inventory -m command -a "sleep 10"物事を同時に実行しているように見える

おそらくこれは、問題が ssh トランスポートにあることを示唆しており、コマンドラインからではなく、Python API を介して ansible を使用することとは何の関係もありません。

インベントリ内のホストの数に関係なく、デフォルトのトランスポートに約 10 秒しかかからないのは何が問題なのですか?

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

jinja2 - Ansible 値で変数をフォーマットする方法

Ansible が Jinja2 を介してすべての変数を処理するとすると、次のようなことが可能になります。

文字列を次のように正しく補間します。

なぜこれが機能しないのですか:

これにより、何らかの解析の問題が発生し、目的の文字列が冗長にレンダリングされるようになります。

itemのデフォルト形式は であり、 の値を文字列補間で必要な形式にキャストしないため、上記の例では が文字列であるwith_sequenceこと%dに注意format()してください。したがって、 を使用してキャストする必要があります。item%02dint()

これはバグですか、それとも何か不足していますか?

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

ansible - ansible:notifyでwith_itemsから変数$ {item}を使用する方法は?

私は Ansible を初めて使用し、いくつかの仮想環境を作成しようとしています (プロジェクトごとに 1 つ、変数で定義されているプロジェクトのリスト)。

タスクはうまく機能し、すべてのフォルダーを取得しましたが、ハンドラーが機能せず、仮想環境で各フォルダーを初期化しません。ハンドラーの ${item} 変数が機能しません。with_items を使用するときにハンドラーを使用するにはどうすればよいですか?