2016-04-07 9 views
0

ohai/facterが収集したシステムメモリ情報に基づいて値を動的に設定したいと考えています。申し訳ありませんが、これは明らかにする必要がありますが、私は無責任に新しいです。シェフで不可能なプレイブックで値を動的に設定する

私は、次の操作を行います:

jvm_heap = "#{(node.memory.total.to_i * 0.6).floor/1024}m" 

答えて

0

ansibleはJinja2のテンプレートライブラリを使用して、あなたはdocsで変数を使用する方法の詳細情報を見つけることができます。ここで

は一例です:

- hosts: app_servers 
    vars: 
     app_path: {{ myvariable }} 

注:それはあなたのための数学関数を実行することはできません。それをあらかじめ計算した値にする必要があります。

2

セットアップでの責任から集められたいくつかの事実は、docsに記載されています。総メモリのMBで、値が含まれているあなたが推測できるよう

$ cat template.j2 
jvm_heap = {{ ansible_memtotal_mb *0.6/1024 | int }} 

ansible_memtotal_mb

は、あなたの質問に答えるために、あなたがシェフにやっていることに非常に似て何かをするでしょう。

{{ ... }}構文はJinja2構文です。これは、テンプレートのレンダリングに役立つものです。

関連する問題