Agent-install.yml という名前のファイルを含めると、ホスト名の最初の2文字に基づいています(例:dserverまたはqserverまたはuserverまたはPSERVER) ...適切な値にsedの更新にagent.properties.j2を使用したいファイルをAnsibleに含め、条件に基づいて2つ以上のアクションを実行させる
つまりホスト名がDS/QSで始まる場合は/私たち、その後agent.setup.IP = DevMaster1 そうでない場合は、ホスト名の場合psで始まり、agent.setup.IP = ProdMaster1
のいずれの場合も、両方ともAgent-install.ymlを含める必要があります。 (私はホスト名を渡していますプレイブックの実行中にそれは動作します (2アクションではない)sed部分は私がここに追加しようとしているものです
誰でもこの方法をお考えですか? 私がするときの条件を使用して2つの作用を有する試みた(しかし、その許可されているとは思わない)複数のアクションを許可していますが許可されていません も試してみました - ブロックが
これを行うには良い方法はあり
が含まれていますか?- name: Include if Pre-PROD
include: Agent-install.yml
local_action: shell sed -i '[email protected]*agent.setup.IP=localhost.*@[email protected]' ../templates/agent.properties.j2
when: hosts[0:2] == "ds" or "qs" or "us"
ignore_errors: yes
- name: Include if PROD
include: Agent-install.yml
local_action: shell sed -i '[email protected]*agent.setup.IP=localhost.*@[email protected]' ../templates/agent.properties.j2
when: hosts[0:2] == "ps"
ignore_errors: yes
ありがとう set_factにこのエラーが発生しました。 FAILED!文字列: –
DevMaster1の後の一重引用符に誤字がありました –
完全に動作しますが、これは次のとおりです。間違いなく良い解決策! –