2
私は新しく、現在リモートマシンのディスクスペースが70%のしきい値に達しているかどうかを確認するプレイに取り組んでいます。彼らがそれに達しているなら、それは誤りを投げるべきです。変数として言及されたマウントについてディスクスペースを確認することができます
私はで良い例が見つかりました:Using ansible to manage disk space
が、この例では、マウント名は、ハードコーディングされています。そして、私の要件はそれらを動的に渡すことです。だから私は動作しないように思われたコードの下に書いている:私が使用している場合
name: test for available disk space
assert:
that:
- not {{ item.mount == '{{mountname}}' and (item.size_available <
item.size_total - (item.size_total|float * 0.7)) }}
with_items: '{{ansible_mounts}}'
ignore_errors: yes
register: disk_free
name: Fail the play
fail: msg="disk space has reached 70% threshold"
when: disk_free|failed
この遊びは動作します:
item.mount == '/var/app'
は、動的にmountnameを入力する方法はありますか?複数のマウント名を入力できますか?
私は事前にansible 2.3
RHELに感謝を使用しています:)
こんにちは、あなたの助けに感謝が、それは以下のエラーで失敗しました: **ファイル "/usr/lib/python2.7/site-packages/jinja2/environment.py"、ライン 438、中call_test raise TemplateRuntimeError( '%r'%nameという名前のテストなし) TemplateRuntimeError: 'equalto'という名前のテストなし** _ fatal:[10.0.230.188]:FAILED! " "失敗 ":true、 msgstr"モジュール実行中に予期しないエラーが発生しました "、 " stdout ":" " } _ –
私のシステムのデフォルトのpythonは2.7です。私はいくつかのチェックを行ったが、ジンジャの問題ではないと思われたが、この[link](https://github.com/ansible/ansible/issues/10123) –
を修正してjina2を修正しました。あなたの助けを借りてありがとう:コミュニティーの他の人々のために**私はジンジャー2のバージョンを** sudo pip install Jinja2 == 2.8 **を使って修正しました –